gpt4 book ai didi

javascript - 模型属性更新时 UI 不更新,由 knockout ES5 跟踪

转载 作者:行者123 更新时间:2023-11-29 14:49:46 24 4
gpt4 key购买 nike

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

  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';

最佳答案

knockout 跟踪的数组跟踪的是数组中有哪些项,而不是数组中项的属性。

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

例如

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

关于javascript - 模型属性更新时 UI 不更新,由 knockout ES5 跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27509948/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com