gpt4 book ai didi

knockout.js - 在容器内使用 Knockout 绑定(bind)多个 span 标签只渲染第一个元素

转载 作者:行者123 更新时间:2023-12-02 04:58:46 25 4
gpt4 key购买 nike

<分区>

鉴于这个 knockout javascript:

function TestModel(data) {
this.Id = ko.observable(data.Id);
this.Name = ko.observable(data.Name);
}

function TestView() {

this.TestList= ko.observableArray([]);

this.TestList([{Id: 1, Name: 'One'},{Id: 2, Name: 'Two'}]);
}

ko.applyBindings(new TestView());

还有这个 Html:

<div data-bind='foreach: TestList'>
<p>
<span data-bind="text: Id" />
<span data-bind="text: Name" />
</p>
</div>

我希望它呈现如下:

<div>
<p>
<span>1</span>
<span>One</span>
</p>
<p>
<span>2</span>
<span>Two</span>
</p>
</div>

但它看起来像这样:

<div>
<p>
<span>1</span>
</p>
<p>
<span>2</span>
</p>
</div>

如果我更改 Html,使每个 span 都在它自己的 p 标签中,它会同时呈现它们。

<div data-bind='foreach: TestList'>
<p>
<span data-bind="text: Id" />
</p>
<p>
<span data-bind="text: Name" />
</p>
</div>

此外,如果我删除 span 标签并使用注释语法,它会很好地呈现两个绑定(bind):

<div data-bind='foreach: TestList'>
<p>
<!--ko text: Id--><!--/ko-->
<!--ko text: Name--><!--/ko-->
</p>
</div>

为什么第二个 span 标记在第一个示例中没有呈现?

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