我是骨干js的新手。
我有一个我在某些视图中使用的集合。我想在另一个视图中重新使用相同的集合。如何通过骨干js。 我从某些服务获得的所有收集数据 对于Ex; collectionA有一些在viewA中使用的数据。 我想在viewB中使用collectionA,其中viewB是一个路由页面。 目前正在发生的事情是collectionA仅限于viewA。
提前感谢您的帮助。
答案 0 :(得分:0)
Backbone应用程序中的一个好习惯是拥有一个全局事件总线,您可以使用该总线与应用程序的不同部分进行通信。
充分利用事件可以让您的应用程序分离。
如果你有一个可以从任何地方访问的全局App对象,你可以像这样附加一个Event总线:
// your global Application object
var App = { ... };
// setting up the event bus
App.eventBus = _.extend({}, Backbone.Events);
// in your viewA, on your collection fetched callback
...
onCollectionFetched(collection) {
App.eventBus.trigger('collection:fetched', collection);
}
// in your viewB, setup a listener in your initialize, for example
...
initialize: function() {
App.eventBus.on('collection:fetched', function(collection) {
// do something
});
}