【问题标题】:UI not updating when a model property is updated which is tracked by knockout ES5淘汰 ES5 跟踪的模型属性更新时 UI 不更新
【发布时间】:2015-02-15 01:52:23
【问题描述】:

我有一个如下所示的模型:

  vm.testModel= {
        testProperty:[]
    }

在页面加载之前,使用 ko.track(vm.testModel) 方法跟踪模型。

在运行时单击按钮,我为这个模型添加了一些属性,如下所示:

vm.testModel.testProperty.push({ Prop1: null, Prop2: null});

我看到 UI 使用新行进行了更新。

现在,在单击另一个按钮时,我正在为属性分配值,但 UI 不会使用属性值更新:

vm.testModel.testProperty[vm.testModel.testProperty.length - 1].Prop1 = 'Test';

【问题讨论】:

    标签: javascript knockout.js viewmodel knockout-es5-plugin


    【解决方案1】:

    通过敲除跟踪的数组是跟踪数组中的哪些项,而不是数组中项的属性。

    要跟踪单个属性,您需要将它们声明为可观察对象或通过ko.track 传递它们

    例如

    vm.testModel.testProperty.push(ko.track({ Prop1: null, Prop2: null}));
    

    【讨论】:

      猜你喜欢
      • 2018-01-23
      • 1970-01-01
      • 2013-07-06
      • 2015-07-07
      • 2016-06-21
      • 1970-01-01
      • 2012-09-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多