// Filename: router.js
define(['jquery','underscore','backbone',
'collections/series','views/series/list','text!templates/series/list.html',
'models/series',
'views/series/details','text!templates/series/details.html',
'views/series/preview','text!templates/series/preview.html'
], function($, _, Backbone,
SeriesCollection, SeriesListView, SeriesListTemplate,
SeriesModel,
SeriesDetailsView, SeriesDetailsTemplate,
SeriesPreviewView, SeriesPreviewTemplate
){
_.templateSettings = { interpolate : /\{\{(.+?)\}\}/g };
...
UPDATE:如何避免BACKBONEJS + requireJS中的長路由器文件?
原因所有這一切都在我的路由器的功能,我這樣做:
seriesList: function(){
// We have no matching route, lets display the home page
var seriesCollection = new SeriesCollection();
seriesCollection.fetch({success:function(){
var seriesListView = new SeriesListView({collection:seriesCollection, el:'#page'});
seriesListView.template = _.template(SeriesListTemplate);
seriesListView.render();
}});
}
意義 - 我是連接模板和視圖時,返回的數據。 它的作品 - 但它是一個很好的做法?
我在閱讀了以下有關不同方法之後,會擔心它會長大併成長...... – Guy
http://addyosmani.github.com/backbone-fundamentals/#namespacing。我決定按照以下建議嘗試按需獲取它們:http://addyosmani.github.com/backbone-fundamentals/#organizingmodules – Guy
您仍無法在路由器中加載模板。在需要它的視圖內部加載模板,而不是路由器。你只需要在路由器中只需要你需要的東西,然後在模塊中加載那些需要的東西。 – Mosselman