2012-04-27 11 views
0

私は2つのモデルを持っています.1つはプロファイルと呼ばれ、もうひとつはprofilelistというプロファイルのコレクションです。モデルチェンジ後のビューのレンダリングを停止するにはどうすればよいですか?

1つのビューには、profileListViewというプロファイルのリストが表示され、プロファイルをクリックすると、新しいビューprofileDetailsViewがロードされ、その詳細を編集できます。

このプロファイルのこのprofileDetailsViewのプロパティを変更してmodel.Changeを実行すると、明らかにそのモデルをリッスンするため、profileListViewが再表示されます。 問題はビューが再表示されますが、URLは変更されたプロファイルのdetailsviewを指して同じままであり、サイトのナビゲーションが乱れることがあります。

私はprofileListViewの自動再レンダリングを停止し、手動でリストビューに「リダイレクト」します。

どうすればこの問題を解決できますか?

答えて

1

おそらくdoビューを再レンダリングしたいのですか?あなたはちょうどurlも変更したい。したがって、ルータにモデルのハンドラをバインドさせてから、URLを更新するようにすることもできます。

model.on('change', function(model) { 
    var url = getTheCorrectUrl(model); 
    router.navigate(url); 
}); 
+0

実際、私はmodel.saveの成功にそれを入れなければなりませんでしたそれ以外の場合は、モデルを保存する前にページをリロードし、最終的にモデルを保存しません。また、私はrouter.saveLocationを使用しなければならなかったし、明らかにサイトが古いバージョンのBackBone(0.3.3)で動作するので、 – user1309946

関連する問題