0
我想使用Require.js文本加載用於主幹視圖的外部HTML模板!插件並製作模板路徑自定義(從「模板」屬性獲取模板路徑)。問題是 - 模板異步加載和渲染我還沒有它。這裏是我的代碼:Backbone.js - 使用Require.js文本插件預裝外部模板
自定義視圖
define([
'views/abstract/base-view',
], function (BaseView) {
var AppView = BaseView.extend({
el: '#app-view',
template: 'app-view',
initialize: function() {
this.on('template:loaded', this.render, this);
BaseView.prototype.initialize.apply(this, arguments);
},
render: function() {
this.$el.empty();
var html = this.template();
this.$el.html(html);
}
});
return AppView;
});
和抽象的視圖繼承
define([], function() {
var AbstractView = Backbone.View.extend({
initialize: function(){
this.setTemplate();
},
setTemplate: function(){
var that = this;
require(['3p/text!templates/' + this.template + '.tpl'], function(tpl) {
that.template = _.template(tpl);
that.trigger('template:loaded');
});
}
});
return AbstractView;
});
它的工作原理,但我不喜歡聽「模板:加載」事件呈現。有什麼建議麼? 謝謝!