gpt4 book ai didi

javascript - KnockoutJS 不更新 View

转载 作者:行者123 更新时间:2023-11-30 17:43:55 25 4
gpt4 key购买 nike

我在使用 Knockout 时遇到了一个问题,这似乎有点令人费解。

我有一个联系人列表,我想将其绑定(bind)到 UI (observableArray)。
然而,我不需要每个项目本身都是可观察的,因为它们仅通过对话框更新,我不需要单独跟踪每个字段。

我有以下 jsFiddle 来演示我的问题:

http://jsfiddle.net/EsgGg/12/

var c = contacts()[0];
c.name="James";
contacts.splice( 0, 1, c );
// the contacts observableArray is now correct but the UI is unchanged

出于某种原因,拼接方法没有更新 View ??

提前致谢。

我真的认为 Knockout 应该允许 trigger('change') 或 observables 上的一些其他方法来使这类事情更容易。

最佳答案

Knockout 对可观察对象有一个更改触发器。它被称为 valueHasMutated()

contacts.valueHasMutated();

但事实上,如果屏幕上显示的每个值(并且偶尔会发生变化)都是您 View 模型中的实际可观察​​值,您的情况会更好。

contacts()[0].name("James");  // done

关于javascript - KnockoutJS 不更新 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20499082/

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