2011-07-20 11 views
0

に特定のモデルを取得するにはどのように、私は、ユーザーのコレクションに少数のユーザーを追加し、私は、特定のユーザー名と私のコレクションから特定のユーザーを削除したいadded.nowことがあります。はBACKBONE.JS

それでは、私が行っていることは、私は私のコレクションでメソッドを作っている。

user: function(username) { 
    return this.filter(function(user){ return user.get('username')==username; }); 
    } 

、その後、私はこのようにアクセス:

:私は特定の要素を除去するため、その後

App.Users.user(data.username); 

App.Users.remove(App.Users.user(data.user)); 

ユーザデータを更新する場合:

App.Users.user(data.username)[0].set(data) 

は私のコードをチェックし、私はそれを任意の方法を改善することができるかどうかを提案してください。

+0

私はここにいくつかの明確化、 1)App.Users.user(data.username)を持っています。 var cltn = new App.Users({ ユーザー:function(){ あなたが定義したように) } }); cltn.user(data.username); 2)これを正しく行った場合は、cltn.remove(cltn.user(data.user));すべきである cltn.remove(cltn.user(data.username))); – rajkamal

+0

上記は動作していますが、これは正しい方法であるかどうかを知りたがっています – XMen

+0

モデルで 'id'プロパティを渡してから' get'メソッドでモデルにアクセスすることでやりました。 – XMen

答えて

1

App.Usersの代わりにApp.Models.Usersを使用します。これにより、読みやすさが向上します。他のすべては私にとってはうまくいくようです。

0

ユーザ名が一意である場合、あなたは(this.detectを使用する必要があります)の代わりにthis.filterの()。ユーザ名が一意でない場合も...これを無視し、

それはわずかに速いだろうとも私も代わりに配列の1つのモデルを返すと信じて...

、あなたは==」使用する必要があります= ''の代わりに '='を使用します。

+0

私はidプロパティをmodelに渡し、getメソッドでモデルにアクセスすることでそれを行いました。それはいいですか? – XMen

+0

私はあなたのユーザー名に基づいてユーザーを見つける 'ユーザー'機能について話していました。 –