我在我的 asp.net mvc 项目中使用 Breeze。
我定义了以下计算函数:
var isDetached = ko.computed(function () {
if (rolling())
return rolling().entityAspect.entityState.isDetached();
});
一个实体detached
(例如)当它第一次被添加然后(立即)被取消时。
基本场景:
- (1)创建一个新的'滚动'
- >> entityState 是“已添加”
- (2)取消创建的操作(datacontext.cancelChanges)
- >> entityState 是“分离”
问题:当试图entityState.isDetached()
从我计算的淘汰赛 observable 中获取 的值时,该值似乎不是动态的。从前面的基本场景来看,在第 1 步之后,ko.computedisDetached()
为 false(因为它是已添加的)。在第 2 步之后, ko.computed 仍然是假的,但它应该是真的。
如果我明确地得到这样的值,它会起作用:
if (rolling().entityAspect.entityState.isDetached())
...
知道为什么我的 ko.computed 不是动态的吗?
谢谢。