tua-wx
这个项目希望实现用类似写 Vue 的方式来编写小程序。
0.安装
$ npm i -S tua-wx
$ tnpm i -S @tencent/tua-wx
$ yarn add tua-wx
1.使用说明
- 实现相同的组件配置(data、computed、methods、watch)
- 实现直接对已绑定的数据赋值,而不是调用
this.setData
- 实现
computed
功能 - 实现
watch
功能
import { TuaWxPage } from 'tua-wx'
TuaWxPage({
data () {
return {
a: { b: 'b' },
c: [{ d: { e: 'e' } }],
f: 'f',
g: 'hello world',
}
},
computed: {
reversedG () {
return this.g.split('').reverse().join('')
},
gAndAB () {
return this.g + ' + ' + this.a.b
},
},
methods: {
onTap () {
this.f = 'onTap'
this.a.b = 'onTap'
this.c[0].d.e = 'onTap'
this.c.push('onTap')
this.c = this.c.map(x => x + 1)
this.x = 'x'
},
},
watch: {
g (newVal, oldVal) {
console.log('newVal', newVal)
console.log('oldVal', oldVal)
setTimeout(() => {
this.a.b = 'new a.b from watch'
}, 1000)
},
'a.b' (newVal, oldVal) {
console.log('newVal', newVal)
console.log('oldVal', oldVal)
setTimeout(() => {
this.msg = 'new msg from watch'
}, 1000)
}
reversedG (newVal, oldVal) {
},
},
onLoad () {},
})
TODO
- 保留字
- 收集
computed
的依赖,这样可以精确地对变化的 computed
属性 setData
,而不是一股脑儿地将全部 computed
属性 setData
- 性能优化,缓存变化数据,而不是频繁地
setData