我的视图模型中有一个字符串列表。要编辑它们,我希望每个都显示为<li>
带有一个文本框和一个<button>
删除该项目。所以,对于清单['A', 'B']
,我想要这样的东西:
<ul data-bind="foreach: titles">
<li>
<input value="A" data-bind="value:$data" />
<button data-bind="click: $root.remove">remove</button>
</li>
<li>
<input value="B" data-bind="value:$data" />
<button data-bind="click: $root.remove">remove</button>
</li>
</ul>
<button data-bind="click: add">add</button>
我最初可以创建它,但没有更新值以反映在视图模型中,并且无法使删除按钮工作。
我最初有一个observableArray
纯字符串,然后更新为observableArray
of observable
字符串。对于纯字符串,删除按钮可以工作,但可以预见的是,它没有更新视图模型。
我已经设置了一个 JS 小提琴来解决这个问题:http://jsfiddle.net/bdukes/uvyH3/2/
如果有一种既定的或更好的方法可以做到这一点,我很想知道。
此外,作为一个不相关(且不太重要)的问题,stringifyJson
实用程序似乎总是为数组中的每个项目提供空结果。
目前,Knockout 不能很好地处理一系列纯可观察值(问题已记录)here).
为了使其正常工作,您需要您的项目是包含可观察量的对象,例如:
{ val: ko.observable("something") }
这是您的小提琴更新以使用这些类型的对象:http://jsfiddle.net/rniemeyer/GgFa9/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)