Backbone.js просматривать переменные экземпляра?
Я изучаю Backbone.js и пытаюсь выяснить, возможно ли иметь переменные экземпляра в представлениях Backbone.
Моя цель - загрузить шаблоны представления из внешнего файла, когда создается представление. В настоящее время я храню их в глобальной переменной в глобальном пространстве имен приложения Backbone, но было бы удобнее хранить шаблоны в переменных экземпляра представления. В настоящее время я настроил это так:
var templates = {};
MessageView = Backbone.View.extend({
initialize: function() {
$.get('js/Test2Templates.tpl', function(doc) {
var tmpls = $(doc).filter('template');
templates['MessageView'] = [];
tmpls.each(function() {
templates.MessageView[this.id] = $.jqotec($.unescapeHTML(this.innerHTML));
});
});
},
render: function() {
var tpldata = {name: 'Ville', thing: 'Finland'};
$('#display').jqoteapp(templates.MessageView.greeting_template, tpldata);
},
events: {
"click input[type=button]": "additionalTransactions"
},
additionalTransactions: function() {
this.render();
}
});
Но вместо того, чтобы использовать «шаблоны», определяемые как глобальную переменную, я хотел бы создать «шаблоны» в функции инициализации представления по этим направлениям (но это не работает):
MessageView = Backbone.View.extend({
view_templates: {},
initialize: function() {
$.get('js/Test2Templates.tpl', function(doc) {
var tmpls = $(doc).filter('template');
tmpls.each(function() {
this.view_templates[this.id] = $.jqotec($.unescapeHTML(this.innerHTML));
});
});
},
render: function() {
var tpldata = {name: 'Ville', thing: 'Suomi'};
$('#display').jqoteapp(this.view_templates.greeting_template, tpldata);
},
events: {
"click input[type=button]": "additionalTransactions"
},
additionalTransactions: function() {
this.render();
}
});
Вероятно, это (?) Довольно просто и / или очевидно, но я, находясь где-то на кривой обучения Backbone.js, буду очень признателен за любую помощь в этом !! Спасибо!