循环遍历列表时,Knockoutjs kendoPanelBar无法正常工作

时间:2015-11-13 08:41:27

标签: knockout.js kendo-panelbar

有没有人知道我的代码发生了什么,我似乎无法让kendoPanelBar使用这样的代码:

<ul data-bind="kendoPanelBar:{}">
  <!--ko foreach: Students -->
  <li>James
     <ul>
       <li data-bind="text: Age">Age: 25</li>
       <li data-bind="text: Score">Score: 9/10</li>
     </ul>
  </li>
  <!-- /ko -->
</ul>

但是,如果不在foreach循环中,则panelbar工作正常。

<ul data-bind="kendoPanelBar:{}">
  <li>James
     <ul>
       <li>Age: 25</li>
       <li>Score: 9/10</li>
     </ul>
  </li>
</ul>

希望你能帮助我。感谢。

2 个答案:

答案 0 :(得分:2)

你没有在最后关闭container-less foreach。

查看:

<ul data-bind="kendoPanelBar:{}">
  <!--ko foreach: Students -->
  <li>James
     <ul>
       <li data-bind="text: Age">Age: 25</li>
       <li data-bind="text: Score">Score: 9/10</li>
     </ul>
  </li>
  <!--/ko--> /*correction here*/
</ul>

直接来自 文档:

  

<!-- ko --> and <!-- /ko -->条评论作为开始/结束标记,   定义包含内部标记的“虚拟元素”。昏死   理解这个虚拟元素的语法并绑定,好像你有一个真实的   容器元素。

答案 1 :(得分:1)

@super很抱歉迟到的回复

顺便感谢您的努力。无论如何,我能够这样做:

  <div data-bind="with: $root.Room">
  <ul data-bind="kendoPanelBar:{}">
  <!--ko foreach: Students -->
   <li>James
      <ul>
        <li data-bind="text: Age">Age: 25</li>
        <li data-bind="text: Score">Score: 9/10</li>
      </ul>
   </li>
   <!-- /ko -->
 </ul>
 </div>

其中$ root.Room是我的MainVM中的一个字段