Knockout.js 使用淘汰选项。更新=true;breeze导航属性出现问题的原因?
我想使用全局淘汰选项Knockout.js 使用淘汰选项。更新=true;breeze导航属性出现问题的原因?,knockout.js,breeze,Knockout.js,Breeze,我想使用全局淘汰选项 ko.options.deferUpdates = true; 如果设置此选项,则会出现以下错误: knockout.debug.js:419未捕获错误:集合导航属性 可能无法设置。 在Function.koObj.equalityComparer()处 at Function.isDifferent() 在 在processTasks()上 在MutationObserver.scheduledProcess()处 如果我删除行ko.options.deferUpd
ko.options.deferUpdates = true;
如果设置此选项,则会出现以下错误:
knockout.debug.js:419未捕获错误:集合导航属性
可能无法设置。
在Function.koObj.equalityComparer()处
at Function.isDifferent()
在
在processTasks()上
在MutationObserver.scheduledProcess()处
如果我删除行ko.options.deferUpdates=true代码>。。。这个问题没有发生。我使用淘汰3.4.1和微风客户端1.5.16
这个问题对我来说很难调试。breeze代码的一部分:
if (prop.isScalar) {
if (propDescr) {
Object.defineProperty(entity, propName, {
enumerable: true,
configurable: true,
writable: true,
value: koObj
});
} else {
var koExt = koObj.extend({ intercept: { instance: entity, property: prop } });
entity[propName] = koExt;
}
} else {
val._koObj = koObj;
// code to suppress extra breeze notification when
// ko's array methods are called.
koObj.subscribe(onBeforeChange, null, "beforeChange");
// code to insure that any direct breeze changes notify ko
val.arrayChanged.subscribe(onArrayChanged);
koObj.equalityComparer = function () {
throw new Error("Collection navigation properties may NOT be set.");
};
entity[propName] = koObj;
}
行koObj.equalityComparer=…
可能是一个bug吗?
或者我需要对我的代码进行一些更改,以便使淘汰更新选项能够很好地与breeze配合使用 如果您在Breeze中取出equalityComparer
,会发生什么?您是否尝试过文档中提到的解决方法-?a)如果我注释掉抛出错误的行,应用程序似乎可以工作……但我不能完全确定这一点。目前的测试覆盖率约为70%。b) 我看到了解决办法。然而,我不知道在哪里应用它们在微风。。。我们的应用程序相当大。我想我需要创建一个较小的示例来说明相同的问题。。。希望已经有人来处理这个问题了。我希望能够使用该选项,而无需对应用程序进行许多调整。不幸的是,我没有时间深入了解Breeze的内部工作原理,所以我希望Breeze团队的一位成员能够看看它,并给出一些关于如何与这个有用功能集成的提示。。。但我不认为,上面提到的这一行是关于的质量比较的是一个bug。我想,一旦加载导航属性,函数就会被重新分配。在会议期间,我将不得不禁用该选项。如果您在Breeze中取出equalityComparer
,可能会提交一份报告。您是否尝试过文档中提到的解决方法-?a)如果我注释掉抛出错误的行,应用程序似乎可以工作……但我不能完全确定这一点。目前的测试覆盖率约为70%。b) 我看到了解决办法。然而,我不知道在哪里应用它们在微风。。。我们的应用程序相当大。我想我需要创建一个较小的示例来说明相同的问题。。。希望已经有人来处理这个问题了。我希望能够使用该选项,而无需对应用程序进行许多调整。不幸的是,我没有时间深入了解Breeze的内部工作原理,所以我希望Breeze团队的一位成员能够看看它,并给出一些关于如何与这个有用功能集成的提示。。。但我不认为,上面提到的这一行是关于的质量比较的是一个bug。我想,一旦加载导航属性,函数就会被重新分配。在会议期间,我将不得不禁用该选项。也许可以在