4

私は、requirejs と backbonejs を使用して、db テーブルからレコードを取得して表示する 1 ページのアプリケーションを開発しています。私はボタンをクリックしてそれをやっています。ボタンをクリックするだけで、サーバーからモデルを不必要に取得していると思います。

私が欲しいのは、一度コレクションモデルをフェッチすると、ボタンの2回目のクリックで再度フェッチしてはならないということです。コレクションに対して行った変更/追加はすべてサーバーの検証を伴うため、そのボタンのクリックでサーバーからすべてのモデルを再度取得する必要なく、最新のリストを保持できます。

したがって、モデルを取得する前に、コレクションが空かどうかを確認する必要があります。このようなもの:

if(window.invoices.isEmpty())
            {
                window.invoices.fetch({success:function(model){
                model.each(self.addOne,self);
                }});
            }
            else
            {
                window.invoices.each(self.addOne,self);
            }   

ここで根本的に間違っている場合は、光を当ててください。

4

1 に答える 1

6

メソッドを使用できますlength

window.invoices.length == 0


ただし、あなたが何をしようとしているのか少しわかりませんmodel.each(self.addOne, self)。コレクションを取得すると、Backbone は返された JSON からモデルを作成し、コレクションに入力します。

于 2013-02-25T08:27:27.283 に答える