小程序抽象组件
https://developers.weixin.qq....配置页面路径
./app.json
{
"pages":[
"pages/index/index",
"pages/logs/logs",
"pages/abstractCom/abstractCom",
"pages/com1/com1",
"pages/com2/com2"
],
"window":{
"backgroundTextStyle":"light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "WeChat",
"navigationBarTextStyle":"black"
}
}
声明抽象组件 abstractCom
./pages/abstractCom/abstractCom.json
{
"component": true,
"componentGenerics": {
"abstract": true
},
"usingComponents": {}
}
./pages/abstractCom/abstractCom.wxml
./pages/abstractCom/abstractCom.wxss
/* pages/abstractCom/abstractCom.wxss */
./pages/abstractCom/abstractCom.js
// pages/abstractCom/abstractCom.js
// 抽象组件
Component({
/**
* 组件的属性列表
*/
properties: {
},
/**
* 组件的初始数据
*/
data: {
},
/**
* 组件的方法列表
*/
methods: {
}
})
声明抽象组件会用到的实例子组件,动态组件com1
./pages/com1/com1.json
{
"component": true,
"usingComponents": {}
}
./pages/com1/com1.wxml
这是动态组件1pages/com1/com1.wxml
./pages/com1/com1.wxss
/* pages/com1/com1.wxss */
./pages/com1/com1.js
// pages/com1/com1.js
// 抽象组件所需自组件1
Component({
/**
* 组件的属性列表
*/
properties: {
},
/**
* 组件的初始数据
*/
data: {
},
/**
* 组件的方法列表
*/
methods: {
}
})
声明抽象组件会用到的实例子组件,动态组件com2
./pages/com2/com2.json
{
"component": true,
"usingComponents": {}
}
./pages/com2/com2.wxml
这是动态组件1pages/com1/com1.wxml
./pages/com2/com2.wxss
/* pages/com2/com2.wxss */
./pages/com2/com2.js
// pages/com2/com2.js
// 抽象组件所需自组件2
Component({
/**
* 组件的属性列表
*/
properties: {
},
/**
* 组件的初始数据
*/
data: {
},
/**
* 组件的方法列表
*/
methods: {
}
})
声明使用抽象组件的主页面
./pages/index/index.json
{
"usingComponents": {
"abstract-com": "../abstractCom/abstractCom",
"com1": "../com1/com1",
"com2": "../com2/com2"
}
}
./pages/index/index.wxml
./pages/index/index.wxss
/**index.wxss**/
./pages/index/index.js
//index.js
//获取应用实例
const app = getApp()
Page({
data: {
},
onLoad: function () {
}
})
抽象节点的默认组件
抽象节点可以指定一个默认组件,当具体组件未被指定时,将创建默认组件的实例。默认组件可以在 componentGenerics 字段中指定:
声明抽象组件 abstractCom
./pages/abstractCom/abstractCom.json
{
"component": true,
"componentGenerics": {
"abstract": {
"default": "../com1/com1"
}
},
"usingComponents": {}
}
./pages/index/index.wxml