骨干模板如何显示模型值

时间:2013-11-14 17:26:01

标签: javascript backbone.js marionette

我在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

1 个答案:

答案 0 :(得分:1)

基于对牵线木偶文档的简短介绍,我打赌你有一个序列化的json表示你的模型属性传递给你的模板,而不是模型对象本身,试试这个:

<script type="text/html" id="sample-template">
<h1><%= name ? name : '' %></h1>
</script>

将其视为传递给模板的值:

model.toJSON()

请参阅ItemView serializeData