0

Wijimo 5 の新しい Flex グリッドと AngularJS を試しています。

私のアプリは HTTP 呼び出しを介してデータをロードし、グリッドはそのデータ ソースとしてコントローラー レベルのオブジェクトにバインドされます。標準の 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

また、同じデータ (このデータは編集可能) にバインドされる追加のフォーム UI を作成する ng-repeat ディレクティブもあります。これは、標準の AngularJS のものとして正常に動作します。

次に、結果オブジェクトを CollectionView に変更しようとしました-次のように:

limo.limoData =new wijmo.collections.CollectionView(results);

これにより、データをすぐに表示するグリッドが修正されましたが、ng-repeat コントロールが壊れていました。

もちろん、1 つは CollectionView として、もう 1 つは標準データとして 2 つのスコープ オブジェクトを持つことができますが、グリッドに反映されるように ng-repeat からの編集可能な更新が必要なので、理想的には同じオブジェクトにバインドする必要があります。

4

1 に答える 1

2

やりたいことは、ng-repeat を CollectionView の「items」プロパティにバインドすることです。これを行う例を次に示します。

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

コードは次のようになります。

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