omi
omi copied to clipboard
omix computed 页面数据问题
computed: { totalPrice(scope){ return scope.data.order.delivery_fee...... } },
data:{ }
data中没初始值就报错,设了初始值 请求然后在赋值改变数据 页面视图不变
贴一段能复现的链接可以打开开发者工具
或者完整代码贴出来
create(store, { use: [
], computed: { sum(scope){ return scope.data.a + scope.data.b } }, data: { a:10, b:20 },
onLoad: function (options) { let that = this; setInterval(function(){ that.setData({ a:that.data.a+1, b:that.data.b+2, }) },1000) }, })
像这种后面在改变值视图computed计算的值不会再改变了
哦。这种情况确实不更新,我看下怎么去满足这种场景。可能需要一个 update
api 开发者主动去刷新
@dntzhang 趁着这个帖子在问一个相似的问题
我使用的是拆分的方式声明,比如
const demo={
age:2
}
const changeAge(){
demo.age++
}
然后在页面使用,分两种情况
第一种直接更新,没有问题
this.store.data.demo.age=444
//值会改变
this.store.demo.changeAge()
第二种全部更新,有点问题,就是值无法改变成最新的
this.store.data.demo={
age:55
}
//这种方式也是改变不了最新的
this.store.set(this.store.data, 'activity', {age:55})
//值会改变,但不是按照55改变的
this.store.demo.changeAge()
对,当computed同时涉及store数据和私域数据时,更新私域data不会更新computed及相关页面
这个能支持一下更新私域data更新computed
+1 希望计算属性能支持页面data
希望可以支持 +1
希望可以支持 +1
希望可以支持 +1
希望 computed 支持响应组件或者 page 私域 data 的更新
目前有什么可替代的方案吗?
@dntzhang 请问这个有什么办法解决吗?