0
我正在使用主幹和牽線木偶,我想根據數據中的變量來呈現視圖。 this.model.template我想可以從我的數據拉(返回myTemplate和myOtherTemplate),然後我可以在渲染功能做一些操作,但它不工作。有什麼建議麼?。該視圖可以讓人意識到該模型?根據數據中的變量分配視圖模板?
var graph = [{
nodeName: "1st level item",
template: "myTemplate",
nodes: [{
nodeName: "2nd level item",
template: "myOtherTemplate"
}]
}];
TreeView = Backbone.Marionette.CompositeView.extend({
tagName: "ul",
initialize: function(){
this.collection = this.model.nodes;
},
appendHtml: function(collectionView, itemView){
collectionView.$("li:first").append(itemView.el);
},
render: function(){
var that = this;
console.log('Loading template name: ' + name + ' template: ' + this.template + ' data: ' + this.model.template);
TemplateManager.get(this.template, function(template){
var html = $(template).tmpl();
that.$el.html(html);
});
return this;
}
});
我很難理解你的問題是什麼。該視圖可以讓人意識到該模型?當然:-)只要做:'this.model'從內部引用視圖的模型。除此之外,雖然我不明白你在問什麼。 – machineghost
this.model.template返回undefined對我來說:( –
this.model將是你傳遞給你的視圖的任何模型。因此,在你的代碼中的某個地方,你必須有'新的TreeView({...';裏面你可以使用elipsis定義一個模型,就像這樣:'new TreeView {model:new Backbone.Model(graph)' – machineghost