Backbone フレームワークに依存する新しい Alloy 実装で Appcelerator DataGrid を定義しています。水平方向および垂直方向にスクロールする DataGrid の実装に成功しました。これは、REST クエリを介してデータ コレクションを DataGrid にデータバインドし、ユーザーが列ヘッダーに触れたときにグリッドをソートできるようにします。
私が遭遇した1つの問題はこれです。バックボーン モデルの実装を使用してデータ モデルを実装する場合、コンパレータを使用してデータ モデルを昇順に並べ替えます。また、モデルを拡張して、ユーザーが並べ替え基準を定義できるようにしました (フィルターの列定義を渡します)。
これが質問です。グリッドがいつ昇順でソートされるかを知っています。バックボーン モデルで 2 番目のコンパレータを定義して逆順で並べ替えることができるので、ユーザーが降順で並べ替えることができます (基本的に 2 つのコンパレータを作成します)。逆ソートに関する質問を見てきましたが、1 つのモデルで 2 つのコンパレータ オプションを許可することについては何もありません。
Appcelerator について私がフォローしている一般的なモデルは、その例です。
exports.definition = {
config : {
// table schema and adapter information
},
extendModel: function(Model) {
_.extend(Model.prototype, {
// Extend, override or implement the Backbone.Model methods
});
return Model;
},
extendCollection: function(Collection) {
_.extend(Collection.prototype, {
// Implement the comparator method.
comparator : function(book) {
return book.get('title');
}
}); // end extend
return Collection;
}
}
上記を念頭に置いて、可能であれば、コンパレーターへの2回目のアクセスで、タイトルを本質的に逆に並べ替えたいと思います。
ご指導ありがとうございます。
クリス。