1
我想要什麼:從嵌套的foreach訪問自定義的afterRender。嵌套forEach與knockout.js中的afterRender回調
我有什麼:
我建立播客,每個擁有多個類別的可摺疊列表。我現在擁有的是使用foreach生成的播客列表,其中的類別元素使用其他foreach生成。
<div id="content-programs">
<!-- content -->
<div data-role="collapsible-set" data-bind="foreach: { data: entries }">
<div class="entry" data-role="collapsible" data-collapsed="false">
<h3 data-bind="text: title"></h3>
<b>Author:</b> <span data-bind="text: author"></span><p>
<b>Published:</b> <span data-bind="text: publishedDate"></span><p>
<p>
<span data-bind="text: contentSnippet"></span>
<a data-bind="attr: {href: link}" >Full Story</a>
</p>
<b>Categories:</b>
<div data-bind="foreach: categories">
<span data-bind="text: $data"></span>
</div>
</div>
</div>
</div>
我的要求其實很簡單,我只是想用逗號分隔類別。我可以在數據或類似的東西上做到這一點,但我也在探索淘汰賽,並對它能提供的東西感興趣。
這裏是我已經試過:
feed = ko.mapping.fromJS(response.responseData.feed);
ko.applyBindings
(
{
entries: feed.entries,
arCategories:
function(categories, data)
{
alert(data);
}
}
);
HTML
<b>Categories:</b>
<div data-bind="foreach: {data: categories, afterRender: arCategories}">
<span data-bind="text: $data"></span>
</div>
證實了這一點,並感謝文檔鏈接。我覺得我已經在搜索該頁面,但標記和js之間的斷開使得填補空白很難。謝謝! – ginman
也是,感謝.join評論。因爲我已經映射了我的數組,所以我不得不使用categories()。join(),但它的工作起來很流暢。 – ginman