我在Backbone中使用Marionette Views。
在我的模板中,我想从模型获取的数据中提取name属性。该模型已经填充,我可以通过console.log
看到正确的结果,但是当我尝试在模板中输出时:
<script type="text/html" id="sample-template">
<h1><%= campaign ? campaign.get('name') : '' %></h1>
</script>
我收到消息:广告系列未定义 我也尝试过attributes.get('name'),CampaginModel.get('name')和model.get('name')但是得到了同样的错误
木偶是否有不同的做法,如果是这样,我应该怎么做?
查看:
var campaginView = Backbone.Marionette.ItemView.extend({
initialize: function (options) {
this.campaign_id = options.id;
this.model.fetch();
},
model: new CampaginModel({
id: this.campaign_id
}),
template: campaignTemplate,
});
console.log模型:
_changing: false
_pending: false
_previousAttributes: Object
attributes: Object
modified: "2013-11-08T18:57:44"
name: "test"
user: Object
__proto__: Object
changed: Object
cid: "c2"
__proto__: s
答案 0 :(得分:1)
基于对牵线木偶文档的简短介绍,我打赌你有一个序列化的json表示你的模型属性传递给你的模板,而不是模型对象本身,试试这个:
<script type="text/html" id="sample-template">
<h1><%= name ? name : '' %></h1>
</script>
将其视为传递给模板的值:
model.toJSON()