0

试用 Wijimo 5 中的新 Flex 网格以及 AngularJS。

我的应用程序通过 HTTP 调用加载数据,并且 Grid 绑定到控制器级对象作为其数据源。如果我只是做一个标准的 Angular HTTP 调用并设置对象,那么在我单击列标题之前,网格不会显示数据。

所以是这样的:

<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 的可编辑更新反映在网格中,因此理想情况下它们需要绑定到同一个对象。

4

1 回答 1

2

您想要做的是将您的 ng-repeat 绑定到 CollectionView 的“项目”属性。这是一个这样做的例子。

http://jsfiddle.net/1r4ebc33/1/

您的代码可能如下所示:

<ul>
    <li ng-repeat="item in limo.limoData.items">
     {{booking.status}} 
    </li>
  </ul>
于 2014-11-10T16:27:59.320 回答