微信小程序7

139 阅读1分钟

分包

首先在app.json中配置代码:

"pages":[

    "pages/index/index",

    "pages/logs/logs",

    "pages/my/my"

  ],

  "subpackages": [

    {

      "root": "packageA",

      "pages": [

        "pages/cat/cat",

        "pages/dog/dog"

      ]

    }, {

      "root": "packageB",

      "name": "pack2",

      "pages": [

        "pages/apple/apple",

        "pages/banana/banana"

      ]

    }

  ],

常规的分包的特点:

小程序一打开首先加载主包,然后再加载分包

分包可以用主包内的资源,主包不可以使用分包的资源

分包A不可以使用分包B里面的内容

分包可以使用app.wxss里面的全局样式

利用wxs

创建一个wxs文件

![KJAW@5BE9%1[V}]U13W}I0.png

编写一个函数:

function str(str1,str2){
    return str1 + str2
}

注意不能使用箭头函数,也不支持构造函数

将该函数导出去

    str:str
}

注意必须是str:str格式,不能使用简写

在示例界面调用

示例

<wxs src="/tools/tools.wxs" module="tools"></wxs>
<view class="vst">{{tools.str('字符串1','字符串2')}}</view>

async和await

示例:

        try{
            let {slides,goods:{data}} = await indexHttp('/api/index',{
                page:this.data.page
            },'GET')
            if(this.data.page==1){
                this.data.itemList = [];
            }
            this.setData({
                slides,
                // itemList:[...this.data.itemList,...data]
                itemList:this.data.itemList.concat(data)
            })
            Toast.clear();
        }catch(err){
            console.log(err)
        }
    },

promise的race和all方法

        function http1(){
            return new Promise((resolve,reject) => {
                setTimeout(()=>{
                    resolve('123456')
                },1000)
            })
        }
        function http2(){
            return new Promise((resolve,reject) => {
                setTimeout(()=>{
                    resolve('abcdef')
                },2000)
            })
        }
        Promise.race([http1(),http2()]).then(res=>{
            console(res)
        })
        Promise.all([http1(),http2()]).then(res=>{
            console(res)
        })
    </script>