下面的小提琴应该显示项目列表。
但是,列表是字符串格式,尚未拆分。我试图将它们分开但没有成功。
我尝试的一件事是将字符串拆分为map
函数中的可观察数组。这是正确的做法吗?
self.splitValues = ko.observableArray();
var mappedItemLists = $.map(data, function(i) {
return new ItemList(i.title, self.splitValues(i.item.split(" ")))
});
http://jsfiddle.net/bGsRH/428/
接受了Matt的回答。
答案 0 :(得分:2)
不完全清楚你在这里真正想做什么。这就是你在寻找的地方:
http://jsfiddle.net/bGsRH/429/
我这样做是为了分割你的价值观:
var mappedTasks = $.map(data, function(item) {
return new ItemList({
title: item.title,
items: item.items.split(" ")
});
});
(注意:您也可以将ItemList函数更改为两个参数)
然后在你的绑定中,你需要foreach
绑定:
<ul data-bind="foreach: itemlists, visible: itemlists().length > 0">
<li><span data-bind="text: title"></span>
<ul data-bind="foreach: items">
<li data-bind="text: $data"></li>
</ul>
</li>
</ul>
如果希望嵌套列表显示为列表。