gpt4 book ai didi

jquery - 将项目添加到 observableArray 不更新 jQuery 按钮单击上的 View

转载 作者:行者123 更新时间:2023-12-03 23:00:41 25 4
gpt4 key购买 nike

我正在尝试找出为什么以下示例不起作用。

在手动告知 observableArray 已更改(使用 valueHasMutated() )之前,observableArray 不会更新。

我认为可观察量的全部意义在于,当它发生变化时, View 会自动更新。

<button type='button' id='add'>add</button>
<button type='button' id='mutated'>force update</button>
<div id="short_tasks" data-bind="foreach: list">
<div data-bind="text: title"></div>
</div>

JS:

var ListTest = function () {

this.list = ko.observableArray([{title: 'item1'}]);
}

var viewModel = new ListTest();
ko.applyBindings(viewModel);

$('#add').click(function () {
viewModel.list().push({title: 'new item'});
});

$('#mutated').click(function() {
viewModel.list.valueHasMutated();
});

jsFiddle:http://jsfiddle.net/InsaneWookie/HFgbR/

最佳答案

您需要直接在 observableArray 上调用 push,这会将您的项目推送到底层数组并通知所有订阅者。

viewModel.list.push({title: 'new item'});

关于jquery - 将项目添加到 observableArray 不更新 jQuery 按钮单击上的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14178884/

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