我有一个如下所示的模型:
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';
最佳答案
剔除跟踪的数组用于跟踪数组中的项目,而不是数组中项目的属性。
要跟踪单个属性,您将需要将它们声明为可观察对象,或者通过ko.track
传递它们
例如
vm.testModel.testProperty.push(ko.track({ Prop1: null, Prop2: null}));