Maerionette giving ReferenceError: menuGroup is not defined

Maerionette giving ReferenceError: menuGroup is not defined

我有这个模板:

<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 not defined”错误。我对 Marionette 很陌生,所以这可能有些愚蠢。但是 JSON 明明有一个项目 "menuGroup" 里面,所以我错过了什么?

你很接近。首先,确保您的 JSON-string 被解析为 JavaScript 对象。其次,View 构造函数不以模型为对象 参数,而是一个 options 对象,它有一个 model 字段。

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