gpt4 book ai didi

jquery - knockout observableArray 推送不起作用

转载 作者:行者123 更新时间:2023-12-01 04:48:13 24 4
gpt4 key购买 nike

我有以下标记:

<table>
<tr>
<td style="padding-left: 150px;">
<ul id="items" data-bind='foreach: Items'>
<li>
<span class="title" data-bind="text: $data.Title"></span>
<li>
</td>
</tr>
</table>

以及以下 JavaScript:

$(function () { 
var ViewModel = function () {
var self = this;
self.Items= ko.observableArray();

self.arrayChanged = function (array) {
$.each(array, function (i, obj) {
self.Items.push(obj);
});
};
};
var viewModel = new ViewModel();
ko.applyBindings(viewModel, $("#items")[0]);
viewModel.arrayChanged($.parseJSON('@Html.Raw(Json.Encode(Model.Items))'));
});

上面是我正在尝试做的事情的简化版本。在上面

self.Items.push(obj);

不起作用,因为它无法将新项目推送到 Items observableArray 上。我也尝试过使用

ko.utils.arrayPushAll(self.Experiences, obj);

无济于事。有什么想法吗?

最佳答案

尝试使用这个

self.arrayChanged = function (array) {
var arr = JSON.parse(array)
self.Items(arr)
};

将 json 转换为对象,然后将对象数组传递给 Items

关于jquery - knockout observableArray 推送不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25405781/

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