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。我想,一旦加载导航属性,函数就会被重新分配。在会议期间,我将不得不禁用该选项。也许可以在