我在这里找到了如何使用 HBS 插件管理模板的示例。这似乎是一个很好的解决方案。@machineghost 建议使用 RequireJS 来包含这样的模板:
define(['template!path/to/someTemplate'], function(someTemplate) {
var MyNewView = BaseView.extend({template: someTemplate});
$('body').append(new MyNewView().render().el);
}
这很好,除了我需要动态切换模板。这是我的一个观点的一个例子:
define([
'jquery',
'underscore',
'backbone',
'models/tableModel',
'collections/tablesCollection',
'views/tablesView'
], function($, _, Backbone, tableModel, tablesCollection, tablesView) {
var t = new tablesCollection(null, {url: 'applications-lab'});
return new tablesView({ collection: t, template: 'applications-lab-template', url: 'applications-lab'});
});
如您所见,我在渲染视图时传入了模板。我想知道的是我可以将一个变量传递给define
告诉 Backbone 使用哪个模板路径的语句吗?我是 Backbone 的新手,尤其是 RequireJS,我不确定。建议任何人?