2013-04-23 49 views

回答

1

我无法解释为什么它不起作用。但我已经尝试过以其他方式做你的例子,它运作良好。

这里去链接。

http://jsbin.com/ajoyug/35/edit

+0

的修改版,如果你想保持MVVM模式。然后再来一个方法来做到这一点。 http://jsbin.com/ajoyug/46/edit – 2013-04-23 19:33:55

+0

谢谢Umakant !!我试图正常的方式n它工作正常..但MVVM的方式没有工作!谢谢..你和奥纳这两次都是正确的:) – Hardik 2013-04-24 08:12:15

2

问题是与你的方法网格呈现两次,第一次在剑道UI init ialization(第一bind中隐含的)和第二,当你bind的实际数据。

第一次数据仍然不可用,然后失败。

如果反正你要跟着你应该做的路径:

<div id="myListView" data-role="grid" class="transaction-grid" 
    data-columns="[ 
      { field: 'name', title: 'Name', width:'20%' }, 
      { 
       field: 'age', 
       title: 'Age' , 
       width:'35%', 
       footerTemplate: 'Total Count: # if (data.age) { # #= age.count # # } #' 
      } 
      ]" 
    data-bind="source: dataSource"> 
</div> 

即检查是否data.age可用,然后是当你打印出来。

否则,我建议遵循@UmankantPatil建议,并且不要使用data-*,而是使用JavaScript来初始化窗口小部件和绑定数据。

检查它在你的JSBin here

+0

谢谢奥纳!你和Umakant在这一个上都是正确的......你的解决方案也能工作! :)谢谢你给出一个简要的解释幕后发生的事情.. – Hardik 2013-04-24 08:17:04