让模型监听嵌套模型和集合的最佳模式?

2024-03-12

使用 Backbone.js 让模型监听所有嵌套模型和集合的最佳模式是什么?

我应该将嵌套模型/集合放入属性中吗?我应该手动创建亲子关系并触发事件吗?


与 Backbone.js 的大多数事情一样,您不会得到“正确”的答案,但我可以分享我是如何做到的。对于模型和视图,我通常遵循以下准则:

  • 视图和模型应该由“负责”它们的组件实例化。对于具有明确父子关系的模型或视图,父模型应该实例化,通常在initialize() method.

  • 父级应该在实例化时绑定到子事件。

  • 父母应该“了解”孩子,并且在必要时可以调用子方法 - 我通常会使用此方法来触发子事件,因为它更明确。我试图让孩子独立于父母,通过事件向上沟通。所以是的,深度嵌套的模型将通过事件链进行通信。

  • 我有时候.set()child 作为 Backbone 属性,但通常只使用普通的 Javascript 属性(例如this.child)。这取决于上下文。使用 Backbone 属性提供change事件,因此如果您需要监视子级是否发生变化,请使用这些事件。主干属性还使您能够在实例化时进行设置,例如var myModel = new Model({ other: otherModel })- 但因为父母通常会实例化他们的孩子,所以这并不真正适用于这种情况,而且我通常将该模式用于非分层模型-模型关系。在大多数情况下,我将children 设置为普通的Javascript 属性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

让模型监听嵌套模型和集合的最佳模式? 的相关文章

随机推荐