wxs模块:WXS 代码可以编写在 wxml 文件中的 <wxs>
标签内,或以 .wxs
为后缀名的文件内。
- 每个
wxs
模块均有一个内置的module
对象。需要定义module,用于访问。 - 模块化要遵循commonJS规范
- 要暴露出去
<text class="price">{{tools.tofix(item.price_info)}}元起</text>
===============================================================
<wxs module="tools">
function tofix(val) {
return (val * 1).toFixed(2)
}
module.exports = {
tofix: tofix
}
</wxs>
//写法二:外面导入
<wxs src='../../wxs/index.wxs' module="index"></wxs>
包之间的引用原则:
- 主包无法引用分包内的私有资源
- 分包之间不能相互引用私有资源
- 分包可以引用主包内的公共资源
各组件之间class样式相互独立:若需要页面能影响组件,需要配置options
options: {
//apply-shared页面可以影响组件
styleIsolation: "apply-shared"
},
apply-shared表示页面wxss样式将影响到自定义组件,但自定义组价wxss中指定的样式不会影响页面
properties: { //类似vue中的props
str: {
type: String, //自定义属性str类型是string
value: '你好' //自定义属性str的默认值是你好
}
},
组件所在页面的生命周期:
//==>让组件可以捕捉到所在页面的生命周期变化
pageLifetimes:{
show(){
console.log('组件所在的页面被打开了');
},
hide(){
console.log('组件所在的页面被隐藏了');
},
resize(){
console.log('组件所在的页面尺寸了');
}
}
应用的生命周期:
App({
/**
* 当小程序初始化完成时,会触发 onLaunch(全局只触发一次)
*/
onLaunch: function () {},
/**
* 当小程序启动,或从后台进入前台显示,会触发 onShow
*/
onShow: function (options) { },
/**
* 当小程序从前台进入后台,会触发 onHide
*/
onHide: function () {},
/**
* 当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息
*/
onError: function (msg) {}
})
页面的生命周期:
Page({
// 生命周期函数--监听页面加载,一个页面只调用1次
onLoad:function(options){
// options接收传递进入页面的数据
},
// 生命周期函数--监听页面显示
onShow:function(){},
// 生命周期函数--监听页面初次渲染完成,一个页面只调用1次
onReady:function(){},
// 生命周期函数--监听页面隐藏
onHide:function(){},
// 生命周期函数--监听页面卸载
onUnLoad:function(){} (tabBar页面切换无)
})
数据侦听器:要用到observers
observers: {
// 监听多个数据
// 'num,str':function(newval1,newval2){
// console.log(newval1);
// console.log(newval2);
// }
// 监听对象变化(深监听)
// 'person.age':function(newval){
// console.log(newval);
// }
// 监听对象变化(深监听)
'person.**': function (newval) {
console.log(newval);
}
},