gpt4 book ai didi

knockout.js - knockout 每个 observableArray 似乎不适用于对象数组

转载 作者:行者123 更新时间:2023-12-01 13:47:25 26 4
gpt4 key购买 nike

我不确定为什么我的 foreach 部分不起作用?第一个数据绑定(bind)文本:虽然 Id 正在工作。

knockout :

import Knockout from 'knockout';

function ViewModel() {
var self = this;
self.Id = ko.observable();
self.Sections = ko.observableArray();
};

var viewModel = new ViewModel();

ko.applyBindings(viewModel);

$.getJSON("/api/projects/3455", function(data) {
console.log(data);
viewModel.Id(data.Id);
viewModel.Sections(data.Sections);
});

HTML:

<div data-bind="text: Id">
<div data-bind="foreach: Sections">
<div data-bind="text: Id"></div>
</div>
</div>

返回的 JSON:

enter image description here

最佳答案

问题出在带有第一个 text 绑定(bind)的 html 中,因为它替换了顶级 div 元素的全部内容,并且您丢失了 foreach。

因此您需要将文本绑定(bind)移动到顶部 div 中:

<div>
<div data-bind="text: Id"></div>
<div data-bind="foreach: Sections">
<div data-bind="text: Id"></div>
</div>
</div>

如果您不喜欢额外的 div,则可以使用无容器绑定(bind)语法:

<div>
<!-- ko text: Id --><!-- /ko -->
<div data-bind="foreach: Sections">
<div data-bind="text: Id"></div>
</div>
</div>

关于knockout.js - knockout 每个 observableArray 似乎不适用于对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34892519/

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