モデルとしてa を使用するUserPanel
ビューがあります。UserModel
のテンプレートにはUserPanel
、モデルが であるかどうかをチェックする条件がありundefined
ます。モデルが存在する場合、ユーザー情報が表示されます。そうでない場合は、「登録」フォームが表示されます。
のユーザー情報部分にはUserPanel
、基本的に「登録解除」ボタンがあります。ユーザーがクリックすると、ユーザー情報が削除されます。はUserPanel
再レンダリングによって応答し、別の を登録できるようにしますUserModel
。
常識では、this.model.destroyと呼ぶように言われています。この方法を使用すると、モデルはデータ ストアから削除されますが、オブジェクトは にまだ存在しthis.model
ます。ビューがモデルの更新に ( を呼び出してrender
) 応答するとき、すべてのデータなどを含む有効なモデルがあると見なされます。で delete を呼び出すことができますthis.model
が、それはイベントをトリガーしません。delete
モデルを削除する前にビューが更新されるため、I の前にイベントをトリガーすることはできません。モデルの削除に応答するようにビューをセットアップしました。メソッドはdelete
、モデルを単純に使用してから を呼び出しますrender
。これは機能しますが、これらのメソッドはビューの更新を処理するためのものであり、モデルを操作するためのものではないため、概念レベルで気になります。
一般に、コレクションに保存されていないモデルを明示的に破棄する適切な方法は何ですか?
編集: Backbone.localStorageをデータ ストアとして使用しています。これには何か関係があるのかもしれません。