在项目所在目录下,右键选择【在外部终端窗口中打开】,运行:
npm install --save [email protected] [email protected]
成功之后,在微信开发者工具中点击【工具】-【构架npm】,到此安装工作完成。
import {
observable,
action
} from 'mobx-miniprogram'
export const store = observable({
num1: 1,
num2: 2,
get sum() {
return this.num1 + this.num2
},
updateNum1: action(function (step) {
this.num1 = this.num1 + step
}),
updateNum2: action(function (step) {
this.num2 = this.num2 + step
})
})
首先导入mobx-miniprogram-bindings
import {createStoreBindings} from 'mobx-miniprogram-bindings'
import {store} from '../../store/store'
在onLoad生命周期函数中
onLoad(options) {
this.storeBindings = createStoreBindings(this,
{
store,
fields:['num1','num2','sum'],
actions:['updateNum1','updateNum2']
})
}
在onUnload生命周期函数中
onUnload() {
this.storeBindings.detroyStoreBindings()
}
wxml文件:
num1:{{num1}}+num2:{{num2}}={{sum}}
在事件中就可以使用共享的方法:
addNum1(e){
console.log(e)
this.updateNum1(e.target.dataset.step)
}
在组件的js文件中导入mobx-miniprogram-bindings,然后在Component节点中声明数据。组件和上述页面引入mobx-miniprogram-bindings是不同的
import {storeBindingsBehavior} from 'mobx-miniprogram-bindings'
import {store} from '../store/store'
Component({
behaviors:[storeBindingsBehavior],
storeBindings:{
store,
fields:{
num1:'num1',
num2:'num2',
sum:'sum'
},
actions:{
updateNum1:'updateNum1',
updateNum2:'updateNum2'
}
}
}
在组件中显示共享数据方式与页面显示数据方式相同,在此不再赘述。