【问题标题】:Nested foreach reads value letter by letter instead of whole word嵌套的 foreach 逐个字母而不是整个单词读取值
【发布时间】:2015-04-03 13:51:26
【问题描述】:

我想创建嵌套的 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 是逐字母记录的。)

【问题讨论】:

    标签: javascript knockout.js foreach


    【解决方案1】:

    基本上,您需要使用键“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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-03
      • 2020-12-16
      • 1970-01-01
      • 1970-01-01
      • 2012-05-18
      • 2013-08-30
      • 1970-01-01
      相关资源
      最近更新 更多