2014-02-19 82 views
1

下面的提琴應該顯示項目列表。將JSON字符串拆分爲可觀察數組

但是,這些列表是字符串格式,尚未拆分。我試圖分裂他們沒有成功。

我試過的一件事是將字符串拆分爲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/

馬特的答案接受。

回答

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> 

如果您希望嵌套列表顯示爲列表。