【问题标题】:Splitting JSON string into observable array将 JSON 字符串拆分为可观察数组
【发布时间】:2014-02-20 10:40:48
【问题描述】:

下面的小提琴应该显示项目列表。

但是,列表为字符串格式,尚未拆分。我试图拆分它们但没有成功。

我尝试的一件事是将字符串拆分为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/

已接受马特的回答。

【问题讨论】:

    标签: json knockout.js


    【解决方案1】:

    不完全清楚你在这里真正想做什么。这就是你要找的东西吗:

    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>
    

    如果您希望嵌套列表显示为列表。

    【讨论】:

      猜你喜欢
      • 2019-02-25
      • 2020-05-02
      • 2014-10-05
      • 2016-04-01
      • 2012-02-22
      • 1970-01-01
      相关资源
      最近更新 更多