import { createStoreBindings } from 'mobx-miniprogram-bindings'
import { store } from '../../store/store'
Page({
data: {
},
onLoad: function (options) {
this.storeBindings = createStoreBindings(this, {
store,
fields: ['num1', 'num2', 'sum'],
actions: ['updateNum1']
})
},
btnHandler1(e) {
this.updateNum1(e.target.dataset.step)
},
onUnload: function () {
this.storeBindings.detroyStoreBindings()
}
})
不仅如此,字段也是一样,fields: ['num1', 'num2', 'sum']这三个字段全部报错:“…is not defined”
哎呀不好意识,占用大家时间了,问题已经搞明白了。
1:我自己的代码中,把actions: ['updateNum1']写成了action,少了一个“s”,导致.js中使用时报错:updateNum1 is not a function。
2:对fields: ['num1', 'num2', 'sum']中的对象,赋值后在wxml页面中使用{{num1}}正常使用。在.js中如何使用呢,我想了个办法,在store中再写一个actions,把值返回来:return this.num1,然后在.js中调用该函数,就拿到了num1的值。
特此留言。
可以将全局变量存在文件里,然后调用出来使用。[适合配置文件]
也可以将变量存在小程序的缓存里,也可以达到在其他地方调用的效果。
还有也可以把变量命名在app.js中,然后调用。