• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 應用軟件教程 > 詳細頁面

        小程序中常用的語法的介紹

        小程序中常用的語法的介紹

        更新時間:2025-09-20 文章作者:未知 信息來源:網絡 閱讀次數:

        微信小程序,簡稱小程序,英文名Mini Program,是一種不需要下載安裝即可使用的應用,它實現了應用“觸手可及”的夢想,用戶掃一掃或搜一下即可打開應用。小程序是一種不用下載就能使用的應用,也是一...
        微信小程序,簡稱小程序,英文名Mini Program,是一種不需要下載安裝即可使用的應用,它實現了應用“觸手可及”的夢想,用戶掃一掃或搜一下即可打開應用。小程序是一種不用下載就能使用的應用,也是一項門檻非常高的創新,經過將近兩年的發展,已經構造了新的小程序開發環境和開發者生態。

        本篇文章給大家帶來的內容是關于小程序中常用的語法的介紹,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

        接下來我將會從一個初學者的身份,當然,此后的文章不會對小程序的知識點一一都做很細致的介紹,主要是對比Android的一些思想,進行一些個人的想法闡述。

        api語法的介紹

        一、盒子模型Flex

        1、flex-wrap:

        nowrap(默認):不換行。
        wrap:換行,第一行在上方。
        wrap-reverse:換行,第一行在下方。

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

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

        space-between屬性圖形展示:

        20180914151604534.jpg

        3、align-content

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

        4、align-items

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

        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中,如果是在整個類中需要用到的對象,我們將在類中聲明為成員變量,在某個具體方法中有效的聲明為局部變量。那么對應的小程序是:
        var:java中的成員變量
        let:java中局部變量

        2、基本數據類型Boolean

            var test0 = ""            //false
            var test1 = "aaaaaaaa"   // true
            var test2 = null          // false
            var test3 = 11           // true
            var test4 = 0            // false
            var test5 = {}           // true

        總結:這個與java區別還是很大的
        1)對于數字型(int、float),只要是非0的數字都是true;
        2)對于字符串(String),只有是null、和“”空串才是false,其他都是false
        3)對于對象,除了對象是null才是false,其他都是true。哪怕這個對象是一個空的對象{}

        3、函數

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

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

        非page中定義:

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

        總結:
        1.第一種定義必須在最后面要加“,”逗號,而第二種方式不能加
        2.與java不同的是,函數的參數params不用指定類型,所以,理論上調用方法的時候可以傳遞任意類型。但是一般不這么做。個人認為還是java嚴謹更好,可讀性強。
        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)函數調用函數的時候,函數方法不支持直接傳遞。看下面的示例:

           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。都是用反射去實現的。那么,在小程序中卻比java 簡單粗暴很多。具體實現

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

        5、export使用

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

        6、disableScroll使用

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

         在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等自定義類中同樣生效。類似的還有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)

        以上就是小程序中常用的語法的介紹的詳細內容,更多請關注php中文網其它相關文章!


        小程序是一種不需要下載安裝即可使用的應用,它實現了應用“觸手可及”的夢想,用戶掃一掃或者搜一下即可打開應用。

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 亚洲精品在线播放| 亚洲精品中文字幕乱码| 最新亚洲人成网站在线观看| 免费h片在线观看网址最新| 亚洲综合在线视频| 美丽的姑娘免费观看在线播放| 亚洲国产精品无码久久久蜜芽| 成人爽a毛片免费| 久热综合在线亚洲精品| 99精品一区二区免费视频| 久久亚洲AV成人出白浆无码国产| 久久精品视频免费播放| 色偷偷亚洲男人天堂| 日韩精品视频免费观看| 青青视频免费在线| 精品福利一区二区三区免费视频| 亚洲av色影在线| 四虎免费影院ww4164h| 亚洲国产精品自在自线观看| 尤物永久免费AV无码网站| 日韩在线观看视频免费| 国产av天堂亚洲国产av天堂| 十八禁无码免费网站| 国产成人精品日本亚洲专| 中文字幕在线免费播放| 香蕉视频在线观看亚洲| 国产黄色免费网站| 亚洲国产人成在线观看69网站| 看亚洲a级一级毛片| 国产国拍亚洲精品福利 | 国产高清在线精品免费软件| 日韩成人精品日本亚洲| 九月丁香婷婷亚洲综合色| 91大神在线免费观看| 亚洲精品国产精品| 国内精品99亚洲免费高清| 99re这里有免费视频精品| 亚洲成av人在线观看网站| 亚洲人成人无码网www电影首页| 免费观看激色视频网站(性色)| 蜜芽亚洲av无码一区二区三区|