一区二区日本_久久久久久久国产精品_无码国模国产在线观看_久久99深爱久久99精品_亚洲一区二区三区四区五区午夜_日本在线观看一区二区

第一篇:小程序之語法篇

關于Android的技術博客好久沒更新了,為什么呢?答案是由于公司業務需求,從一個Android移動端攻城獅轉變成了一個寫小程序的前端攻城獅。愛掏網 - it200.com雖然小程序上手比較容易,但是,這個是相對的————前端攻城獅上手比較容易。愛掏網 - it200.com而對于移動端,那絕對的是nonono~了。愛掏網 - it200.com 相信如果是從Android轉過去的,會有各種的吐槽。愛掏網 - it200.com不僅僅是語法的規范,語法簡直弱爆了,還有編譯器的問題。愛掏網 - it200.com微信web開發工具相對于Android Studio,不管是代碼補全,還是快捷鍵、插件的使用,尤其是不能查看源碼,這就太low了。愛掏網 - it200.com這個時候還是特別感謝自己是一個Android攻城獅了。愛掏網 - it200.com吐槽部分就此告一段落,接下來我將會從一個初學者的身份,當然,此后的文章不會對小程序的知識點一一都做很細致的介紹,主要是對比Android的一些思想,進行一些個人的想法闡述。愛掏網 - it200.com 點擊我查看完整項目

api語法的介紹

一、盒子模型Flex

1、flex-wrap:

nowrap(默認):不換行。愛掏網 - it200.comwrap:換行,第一行在上方。愛掏網 - it200.comwrap-reverse:換行,第一行在下方。愛掏網 - it200.com

2、justify-content: 所有子view在父View顯示的位置

flex-start(默認值):左對齊
flex-end:右對齊
center:居中
*space-between:兩端對齊,項目之間的間隔都相等。愛掏網 - it200.com因此這個可以認為是設置權重布局,每個子View占一份。愛掏網 - it200.com如果子View只有一個,則等同于flex-start
*space-around:平均分布在該行上,兩邊留有一半的間隔空間。愛掏網 - it200.com項目之間的間隔比項目與邊框的間隔大一倍。愛掏網 - it200.com如果(作用在父view上)只有一個子view,則其實就是讓子View居中對齊

space-between屬性圖形展示:

3、align-content

內容居中。愛掏網 - it200.com只適用于多行的flex容器,單行不起作用flex-start:與交叉軸的起點對齊。愛掏網 - it200.comflex-end:與交叉軸的終點對齊。愛掏網 - it200.comcenter:與交叉軸的中點對齊。愛掏網 - it200.comspace-between:與交叉軸兩端對齊,軸線之間的間隔平均分布。愛掏網 - it200.comspace-around:每根軸線兩側的間隔都相等。愛掏網 - it200.com所以,軸線之間的間隔比軸線與邊框的間隔大一倍。愛掏網 - it200.comstretch(默認值):軸線占滿整個交叉軸。愛掏網 - it200.com

4、align-items

讓每個View在父view的對齊方式。愛掏網 - it200.com適用于所有的flex容器。愛掏網 - it200.comflex-start:交叉軸的起點對齊。愛掏網 - it200.comflex-end:交叉軸的終點對齊。愛掏網 - it200.comcenter:交叉軸的中點對齊。愛掏網 - it200.combaseline: 項目的第一行文字的基線對齊。愛掏網 - it200.comstretch(默認值):如果項目未設置高度或設為auto,將占滿整個容器的高度。愛掏網 - it200.com

5、示例

1)讓容器的子View居中顯示在容器(父View)中添加:display: flex;align-items: center;2)讓一個View布局顯示在最底層,或者最上層,類似于FramLayout布局使用z-index屬性:

{position:absolute;left:0px;top:0px;z-index:-1;}注意:1)z-index只能在absolute 中起作用2)z-index:-1,被修飾的該View在最底層顯示(可以作為背景)z-index:1 ,在最外層顯示

二、js相關的api

1、變量

我們知道,在Java中,如果是在整個類中需要用到的對象,我們將在類中聲明為成員變量,在某個具體方法中有效的聲明為局部變量。愛掏網 - it200.com那么對應的小程序是:
var:java中的成員變量
let:java中局部變量

2、基本數據類型Boolean

var test0 = "" //falsevar test1 = "aaaaaaaa" // truevar test2 = null // falsevar test3 = 11 // truevar test4 = 0 // falsevar test5 = {} // true總結:這個與java區別還是很大的1)對于數字型(int、float),只要是非0的數字都是true;2)對于字符串(String),只有是null、和“”空串才是false,其他都是false3)對于對象,除了對象是null才是false,其他都是true。愛掏網 - it200.com哪怕這個對象是一個空的對象{}

3、函數

(1)函數定義 在page中定義:

onShow: function (params) {//方法體},

非page中定義:

function test(params){//方法體
}

總結: 1.第一種定義必須在最后面要加“,”逗號,而第二種方式不能加 2.與java不同的是,函數的參數params不用指定類型,所以,理論上調用方法的時候可以傳遞任意類型。愛掏網 - it200.com但是一般不這么做。愛掏網 - it200.com個人認為還是java嚴謹更好,可讀性強。愛掏網 - it200.com 3.參數params的個數沒有限制

(2)回調函數 1)函數定義

function request(onFail){//調用接口wx.request({success: function (res) { //接口返回數據onFail(res)})}

2)函數調用

wx.cyou.cache.getCacheValue("key_test", function(result){console.log("result==", result)})

(3)注意事項

1)小程序不支持函數的重載和函數的重寫
2)函數調用函數的時候,函數方法不支持直接傳遞。愛掏網 - it200.com看下面的示例:

function request1(function1) {request2(function1)}問題: 這在request1方法調用request2的時候,參數也是一個函數function1,直接將function1傳遞給request2是不可以的解決方式:function request1(function1) {request2(new function{function1()}})}在request2方法的回調函數中去調用function1方法

4、對象的變量

class Person{String name;int age;
}

在java中,如果要遍歷獲取Person屬性值name、age,和屬性類型String、int。愛掏網 - it200.com都是用反射去實現的。愛掏網 - it200.com那么,在小程序中卻比java 簡單粗暴很多。愛掏網 - it200.com具體實現

for (var propertyName in Person){var name = propertyName //對象Person的屬性(String、int)var value = testInfo[propertyName] // 對象Person的屬性值(name、age)}

5、export使用

在調用一個類中的方法或者屬性值時,必須要在被調用的方法和屬性值,定義的時候用export聲明

6、disableScroll使用

問題描述: 有時候,小程序跑在蘋果手機上時,會左右滑動退出,也會上下滑動,這樣體驗不好。愛掏網 - it200.com這個時候要禁止滑動。愛掏網 - it200.com

在app.json中,將disableScroll值設置為true 就可以了:"window": {"disableScroll": true}

7、頁面page數據的獲取與設置

let pages = getCurrentPages()let curPage = pages[pages.length - 1] //獲取當前頁面if (curPage.route == url){ //比較獲取的頁面的url是否跟實際的一致(如url:"pages/order/order")curPage.setData({ //設置數據usingOrderList: usingOrderList})}

8、獲取所有的頁面

let pages = getCurrentPages()// 獲取上一個頁面let prePage = pages[pages.length - 2]//給頁面設置數據prePage.setData({refreshUserInfo:true})//返回到上一個頁面wx.navigateBack({delta: 1})

注意事項: 調用getCurrentPages()不需要在page環境中(可以視為Android中的Context環境),可以在任何地方直接獲取,即util等自定義類中同樣生效。愛掏網 - it200.com類似的還有wx.開頭的方法

9、showToast時長設置失效問題

let title = new String(msg)//延時彈toast,是為了解決有時候在接口請求后,設置的duration時間不起作用setTimeout(function () {wx.showToast({title: title,duration: 1200,icon: "none"})}, 100)

10、reLaunch跳轉失效問題

//延時跳轉,是為了解決有時候wx.reLaunch不起作用,設置的時間不起作用setTimeout(function(){wx.reLaunch({url: '/pages/home/home'})},100)

以上對于小白相信是很實用的一些知識。愛掏網 - it200.com下一篇繼續講解關于小程序中,代碼冗余、解耦的問題分析,以及解決策略。愛掏網 - it200.com

轉:https://juejin.im/post/5b9cce5e5188255c304fe14d



聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
發表評論
更多 網友評論0 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 成人黄在线观看 | 精品免费av | 怡红院免费的全部视频 | 国产精品久久久久久亚洲调教 | 午夜视频在线 | 成人av电影在线观看 | 欧美不卡| 成人不卡视频 | 国产一区二区三区久久久久久久久 | 在线观看欧美一区 | 日韩毛片免费看 | 日韩在线观看一区二区三区 | 亚洲精品性视频 | 午夜日韩精品 | 国产精品久久久久国产a级 欧美日本韩国一区二区 | 亚洲国产aⅴ精品一区二区 免费观看av | 国产91九色| 亚洲一区二区精品视频在线观看 | 性大毛片视频 | 日本一区二区三区在线观看 | 亚洲免费视频网站 | 亚洲一二三在线观看 | 欧美精品网 | 成人国产免费视频 | 免费在线看黄视频 | 久久成人一区 | 夜夜夜夜草 | 日韩在线欧美 | 福利久久 | 国产在线播 | 国产成人区 | 欧洲一区二区三区 | 日韩电影免费观看中文字幕 | 成人一区二区视频 | 日美女逼逼 | 国产区精品在线观看 | 男人久久天堂 | 精品久久久久久久久久久久久久 | 国产精品美女久久久久久久久久久 | 久久久久久免费看 | 91久久精品视频 |