uni-app 不同平台使用不同的Vue组件


主要使用条件编译,见:

1.存放目录(官方推荐的是在根目录或者src目录下,也可以在vue.config.js文件中配置为其他目录):

平台支持情况小程序组件存放目录
H5 支持微信小程序组件(2.4.7+) wxcomponents
App(不含nvue) 支持微信小程序组件 wxcomponents
微信小程序 支持微信小程序组件 wxcomponents
支付宝小程序 支持支付宝小程序组件 mycomponents
百度小程序 支持百度小程序组件 swancomponents
字节跳动小程序、飞书小程序 支持字节跳动小程序、飞书小程序组件 ttcomponents
QQ小程序 支持QQ小程序组件 wxcomponents
快手小程序 支持快手小程序组件 kscomponents
┌─wxcomponents                  微信小程序自定义组件存放目录
│   └──custom                   微信小程序自定义组件
│        ├─index.js
│        ├─index.wxml
│        ├─index.json
│        └─index.wxss
├─mycomponents                  支付宝小程序自定义组件存放目录
│   └──custom                   支付宝小程序自定义组件
│        ├─index.js
│        ├─index.axml
│        ├─index.json
│        └─index.acss
├─swancomponents                百度小程序自定义组件存放目录
│   └──custom                   百度小程序自定义组件
│        ├─index.js
│        ├─index.swan
│        ├─index.json
│        └─index.css
├─pages
│  └─index
│        └─index.vue
│
├─static
├─main.js
├─App.vue
├─manifest.json
└─pages.json

 2.引用+注册

  在 pages.json 对应页面的 style -> usingComponents 引入组件:

{
    "pages": [{
        "path": "index/index",  // 使用style的地址
        "style": {              // 定义不同平台使用的文件
            // #ifdef APP-PLUS || H5 || MP-WEIXIN || MP-QQ
            "usingComponents": {
                "custom": "/wxcomponents/custom/index"
            },
            // #endif
            // #ifdef MP-BAIDU
            "usingComponents": {
                "custom": "/swancomponents/custom/index"
            },
            // #endif
            // #ifdef MP-ALIPAY
            "usingComponents": {
                "custom": "/mycomponents/custom/index"
            },
            // #endif
            "navigationBarTitleText": "uni-app"  // 注册该文件的style
        }
    }]
}

3.使用

1 
2 
3      
4
5

  或者直接使用标签使用。