我读过许多关于骨干和骨干的博客和教程--Marionette。在一些博客中,作者开始了历史,比如,Backbone.history.start()在App 'initialize‘事件中,一些在App 'initialize:after’事件中,一些在App 'start‘事件中,还有一些在路由器'initialize’事件中。他们在任何地方都工作得很好。
但是,还有谁能帮我解释一下,这将是最好的方式叫Backbone.history.start()。
发布于 2013-11-13 16:48:31
最可靠的方法是使用initialize:after,因为它将在所有初始化器运行之后(顾名思义)启动历史记录。由于路由器通常将在initialize函数中声明,这意味着当hitory启动时,所有路由器都准备好并侦听路由事件。
如果您只使用一个初始化程序或start,您就有可能在相关路由器准备好处理该路由之前启动历史记录(并试图触发路由)。
在您看到的情况下,它通常工作,因为只涉及一个路由器。但是initialize:after方法在所有情况下都有效。
发布于 2013-11-13 06:57:50
没有最好的办法。因为它是一个‘开始并忘记它’的方法,并且您不会再次访问它,所以只要它在您的应用程序中被启动,它在放置它的位置(就像在上面的任何方法中一样)并没有什么区别。这件事都是关于风格的。
https://stackoverflow.com/questions/19947281
复制相似问题