[英]Nested foreach reads value letter by letter instead of whole word
我想證明嵌套的foreach,並為內部的foreach提供外部的foreach的值。 問題在於所提供的價值是逐字母地而不是整個單詞地重復。 這是代碼:
html
<div data-bind="foreach: { data: mysections, as: 'section'}">
<span data-bind="text: $data"></span>
<div data-bind="foreach: section ">
b<span data-bind="text: $root.myconsole($data)"></span>
<span data-bind="text: $data.content"></span>
<br>
</div>
</div>
js
var vm =new function AppViewModel() {
self.mysections=ko.observableArray(['sec1', 'sec2','sec3']);
self.sec1 = ko.observableArray([{"content":"asdf1"}]);
self.sec2 = ko.observableArray([{"content":"asdf2"}]);
self.sec3 = ko.observableArray([{"content":"asdf3"}]);
self.myconsole = function(data){console.log(data)};
}
ko.applyBindings(vm);
這是小提琴http://jsfiddle.net/frjapyre/2/ (在控制台中查看,發現$ data是逐字母記錄的。)
基本上,您需要使用鍵“ sec1”獲取值,而在代碼中,您需要迭代鍵本身。
嘗試
<div data-bind="foreach: { data: mysections, as: 'section'}">
<span data-bind="text: $data"></span>
<div data-bind="foreach: $parent[section]">
b<span data-bind="text: $root.myconsole($data)"></span>
<span data-bind="text: $data.content"></span>
<br>
</div>
</div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.