我正在开发一个模块化的javascript应用程序,除了一个细节之外,一切看起来都很整洁:我只是想知道如何加载我的initialize
函数,只有当我的模型已经从服务器上用这个Backbone.collection.fetch()
方法获取。
请看一下this文件,如果你愿意的话,可能还有whole project,我非常感谢你的合作。
我正在开发一个模块化的javascript应用程序,除了一个细节之外,一切看起来都很整洁:我只是想知道如何加载我的initialize
函数,只有当我的模型已经从服务器上用这个Backbone.collection.fetch()
方法获取。
请看一下this文件,如果你愿意的话,可能还有whole project,我非常感谢你的合作。
3条答案
按热度按时间vngu2lb81#
正如Reed Spool所指出的,
fetch
有一个成功回调函数。bf1o4zei2#
如果我没听错的话,我想你需要在fetch中使用一个“Success”回调函数。
如果您担心的是模块化代码中的解耦函数计时,正如您的问题标题所暗示的,我建议使用Backbone的Events。请参阅事件聚合器,或发布-订阅设计模式。
hi3rlvi23#
使用Backbone解决这个问题的传统方法是使用事件。我已经基于MarionetteJS创始人Derek Bailey的各种博客文章,所以当我以后找到相关的文章时,我会添加参考文献...
您的视图将执行以下操作:
获取模型的代码将执行以下操作:
这样,您就保持了高级模块化方法,解耦了代码(现在任何数量的视图都可以在
fetch
上更新自己),并保持了可读性。您的Model
对自己做了一些事情,您的View
也对自己做了一些事情。在我看来,这是非常整洁的,也是我喜欢在Backbone中使用的模式之一。感谢Q。