我有一个UserPanel
视图,它使用 aUserModel
作为模型。在 的模板中UserPanel
,我有一个条件来检查模型是否为undefined
. 如果模型存在,它会显示用户信息。如果没有,它会显示“注册”表格。
在 的用户信息部分UserPanel
,我有一个本质上是“取消注册”按钮。用户点击,用户信息被删除。通过UserPanel
重新渲染响应,允许他们注册不同的UserModel
.
常识告诉我调用this.model.destroy。当我使用这种方法时,我的模型会从我的数据存储中删除,但对象仍然存在于this.model
. 当视图响应模型更新(通过调用render
)时,它仍然认为它有一个有效的模型,以及它的所有数据等。我可以调用 delete on this.model
,但这不会触发任何事件。我无法在 I 之前触发事件delete
,因为在我删除模型之前视图会更新。我已设置视图以使用仅在模型上使用的方法响应模型删除delete
,然后调用render
. 这可行,但在概念层面上困扰着我,因为这些方法是用于处理视图更新而不是更多的模型操作。
一般来说,明确处置未由集合存储的模型的正确方法是什么?
编辑:我使用Backbone.localStorage作为我的数据存储。这可能与它有关。