2015-08-10 2 views
0

Я новичок в позвоночнике js.Backbone Javascript || Повторное использование коллекции

У меня есть коллекция, которую я использовал в некотором отношении. Я хочу использовать одну и ту же коллекцию в другом представлении. как это было бы возможно через магистраль js. Все данные коллекции, которые я получаю от некоторого обслуживания For Ex; collectionA имеет некоторые данные, используемые в viewA. Я хочу использовать collectionA в видеB, где viewB является маршрутизированной страницей в целом. В настоящее время происходит то, что collectionA имеет только область просмотра.

Заранее за вашу помощь.

+0

Как повторно использовать коллекцию магистральной в другой точке зрения. –

+0

http://stackoverflow.com/a/25791460/1059101 использование инъекции зависимости. Угловое имеет это, но магистраль, похоже, ее не имеет. проверьте ссылку. – Jai

+0

, но в моем случае коллекция привязана только к определенному виду. Если я пытаюсь вызвать в каком-то другом представлении свой ответ null. потому что в моем первом представлении я вызываю некоторый сервис RESTful, который даст ответ и сохранит его в коллекции. Я хочу использовать одни и те же данные коллекции в другом представлении –

ответ

0

Хорошей практикой в ​​вашем базовом приложении является наличие глобальной шины событий, которую вы можете использовать для связи с различными частями вашего приложения.

Хорошее использование событий позволяет вам отключить ваше приложение.

Если у вас есть, например, глобальный App объект доступен отовсюду можно прикрепить автобус события к нему так:

// 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 
    }); 
} 
Смежные вопросы