嵌套的 foreach 逐个字母而不是整个单词读取值
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);
这里是 fiddle 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>
我想创建嵌套的 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);
这里是 fiddle 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>