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