使在计算值中使用的可观察对象被监视,即使在上次计算中没有使用
Make observables used in computed value watched even if not used in last computation
我只是想知道,是否有一种习惯的方法可以使在计算值中使用的可观察对象被监视,即使在上次计算中没有使用。
假设我有这样的代码:
@observable array = [];
@computed get arrayLength(){
if (condition) return true;
return this.array.length;
}
如果条件为真,则计算值将自动返回真,而不会执行此操作。看着数组。因此,如果数组在未来改变,arrayLength将不会被重新计算。
我使用的一种方法是引用可观察对象。如果我这样修改,上面的代码就可以工作了
@computed get arrayLength(){
const array = this.array;
if (condition) return true;
return array.length;
}
有其他好的方法吗?或者写一个计算值,在某些情况下依赖于一个可观察对象,而在某些情况下不依赖?
谢谢你的建议
参见https://github.com/mobxjs/mobx/issues/613。简而言之呢?如果condition
为真,为什么要重新计算呢?这不会影响计算的结果…
相关文章:
- 下拉列表未从计算的可观察项更新
- 在编辑记录上可观察的挖空 JS 计算
- 挖空映射:加载数据后,父模型中的计算可观察量不会更新
- Knockout.js:在可选定义的值上计算可观察性
- 如何使用ES6在Ember中声明可观察性或计算属性
- 击倒计算的可观察到的未发射'写'
- 向KO传递在对象内可观察到的计算值
- 如何使某些可观察的“独立”计算可观察(Knockout.js)
- 如何在运行时向计算可观察量添加其他数组项
- Knockout.js - 如何在计算的可观察量中获取可观察属性的值
- 在不重置对象的情况下重新计算计算可观察量
- 从计算的可观察量中获取价值
- Knockout的可写计算在AngularJS中可观察的模拟是什么?
- 使挖空计算订阅不在初始执行路径中的可观察量
- Knockout -带有手动更改通知的计算观察对象
- 击倒剑道问题绑定通过计算观察
- KnockoutJS:可写的可计算观察对象没有更新
- 计算观察的问题
- 在Knockout JS中使用揭示原型模式的计算观察对象
- 淘汰排序与计算观察不工作