纯数字字段
什么是纯数字字段
被记录在 this.data 中,仅在当前组件内部使用,而不参与任何界面渲染过程
如何定义纯数据字段
- 在Component构造器的options 配置pureDataPattern(正则表达式)
- 在data中的数据字段匹配该正则表达式的将成为纯数字字段
eg:
Component({
options: {
pureDataPattern: /^_/ // 正则表达式,指定所有 _ 开头的数据字段为纯数据字段
},
data: {
a: true, // 普通数据字段
_b: 'dd', // 纯数据字段
},
methods: {
getB(){
console.log(this.properties._b)
},
changeB(){
this.setData({
_b:'334'
})
}
}
})
上述组件中的纯数据字段不会被应用到 WXML 上:
<view wx:if="{{a}}"> 这行会被展示 </view>
<view wx:if="{{_b}}"> 这行不会被展示 </view>
<button bindtap="getB"> 获取——b的值</button>
<button bindtap="changeB"> 改变——b的值</button>
组件接收外部传入的纯数字字段
Component({
options: {
pureDataPattern: /^_/
},
properties: {
_b: {
type: Boolean,
observer() { // 不要这样做!这个 observer 永远不会被触发
}
}
},
observers:{ //监听外部传进来的纯数字字段
_b:function(){
console.log('_b的值改变了')
}
}
})
结果如图所示: