给出ReferenceError的Maerionette:未定义menuGroup

时间:2016-02-07 18:01:17

标签: javascript json marionette

我有这个模板:

<script type="text/template" id="menu-template">
  <a ><li data-menuGroup="<%= menuGroup %>" class="<%=liClass%>" id="<%= liId%>"><%=name%></li></a>
</script>

这个JSON:

{"id":5,"menuId":2,"name":"Home","liId":"reports_home_sub_menu","liClass":"tab","targetDiv":"reportHome","contentName":"qado_reports_home","url":"","callback":"","orderBy":1,"privilage":"","menuGroup":"reportsTab"}

和这个Marionette Javascript:

View = Backbone.Marionette.ItemView.extend({
    template: "#menu-template"
});
var model = new Backbone.Model(json);   
var view = new View(model);
view.render();
$("#menuContainer").append(view.el);

但是当我运行它时,我在控制台中收到“ReferenceError:menuGroup is defined defined”错误。我对Marionette很新,所以这可能是愚蠢的。但是JSON显然有一个“menuGroup”项,所以我错过了什么?

1 个答案:

答案 0 :(得分:2)

你很亲密。首先,确保将JSON字符串解析为JavaScript对象。其次,View构造函数不将模型作为 参数,但是options对象,其中包含model字段。

var modelData = JSON.parse(json);
var model = new Backbone.Model(modelData);   
var view = new View({model: model});