1

バックボーン コレクションから Fuelux データグリッド ソースを設定しようとしています。サンプルのソースはhttps://github.com/ExactTarget/fuelux/tree/master/sampleにあります。

みたいに疲れた

(function (root, factory) {
 if (typeof define === 'function' && define.amd) {
 define(factory);
 } else {
    root.sampleData = factory();
   }
}(this, function () {
return { 
          "geonames": new mycollection ///this will retrurn new collection array as in     example
   };
}));

そして、私のバックボーン レンダーは、次のコードで構成され、データ ソースをインステート化します

   var dataSource = new StaticDataSource({
            columns: [
                {
                    property: 'username',
                    label: 'Name',
                    sortable: true
                },
                {
                    property: 'username',
                    label: 'Country',
                    sortable: true
                },
            data: this.collection,
            delay: 250
        });
        $('#MyGrid').datagrid({
            dataSource: dataSource,
            stretchHeight: true
        });

エラー StaticDataSource is not defined が表示されます。

誰か私にこれを説明できますか?または、バックボーン コレクションから datssource データを設定する方法を説明している tutorail への参照を手伝っていただければ幸いです。私の見解では、fueluxには十分なドキュメントがありません。

4

1 に答える 1

1

https://github.com/ExactTarget/fuelux/blob/master/sample/datasource.jsのサンプル データソースを使用すると、単純な JavaScript オブジェクトをデータグリッドに取り込むことができます。これは、コレクションを呼び出し.toJSON()てバックボーン コレクションから取得できます。 . 次に、次のようにデータソースをインスタンス化します。

https://github.com/ExactTarget/fuelux/blob/master/index.html#L112-L138

(列を独自のグリッドに必要なものに置き換え、 に置き換えdata: sampleData.geonamesますdata: yourCollection.toJSON())

その後、次のようにデータグリッドをインスタンス化できるはずです。

https://github.com/ExactTarget/fuelux/blob/master/index.html#L144-L147

注: これにより、データの 1 回限りのスナップショットが取得され、データグリッドに提供されます。バックボーン コレクションに対するライブ クエリをサポートするデータグリッドが必要な場合は、コレクションに対してそれらのクエリを実行するデータソースを提供するだけです。データソース パターンにより、最終開発者はデータグリッドをあらゆる種類のデータ プロバイダーに接続できます。Flickr API を使用した別の例を次に示します: http://dailyjs.com/2012/10/29/fuel-ux/

Backbone 専用の既存のデータソースの例を知りませんが、誰かが私を打ち負かしていなければ、作成するかもしれません - 私も Backbone が本当に好きです。

于 2013-04-01T15:20:07.960 に答える