从Wijimo 5和AngularJS一起尝试新的Flex网格。
我的应用程序通过HTTP调用加载数据,并且Grid绑定到控制器级别对象作为其数据源。如果我只是执行标准的Angular HTTP调用并设置对象,那么在我单击列标题之前,Grid不会显示数据。
这样的事情:
<body ng-controller="LimoController as limo">
<wj-flex-grid items-source="limo.limoData" show-groups="false" >
<wj-flex-grid-column
header="Status"
binding="booking.status"
width="*"></wj-flex-grid-column>
<wj-flex-grid-column
header="Pickup Date"
binding="from.date"
format="d MMMM"
width="*"></wj-flex-grid-column>
</wj-flex-grid>
然后在app.js中我有一个工厂来获取数据但最终在我拥有的控制器内:
limo.limoData =results
我还有一个ng-repeat指令,它创建了一些额外的表单UI,它也绑定到相同的数据(这个数据是可编辑的),这可以作为其标准的AngularJS工作。
然后我尝试将结果对象更改为CollectionView - 就像这样:
limo.limoData =new wijmo.collections.CollectionView(results);
这修复了网格立即显示数据但打破了ng-repeat控制。
我当然可以有2个范围对象,1个作为CollectionView,另一个作为标准数据,但我需要来自ng-repeat的可编辑更新才能反映在网格中,因此理想情况下它们需要绑定到同一个对象。
答案 0 :(得分:2)
您要做的是将ng-repeat绑定到CollectionView的“items”属性。这是一个这样做的例子。
http://jsfiddle.net/1r4ebc33/1/
您的代码可能如下所示:
<ul>
<li ng-repeat="item in limo.limoData.items">
{{booking.status}}
</li>
</ul>