如何在ItemView的className中获取模型属性?

时间:2014-03-10 10:29:09

标签: javascript backbone.js marionette

我的应用程序我需要使用li的class属性中的id来呈现ul用户。我试着这样做:

Marionette.ItemView.extend({
    tagName: 'li',
    className: this.model.get('user_id'),
        template: userTpl
});

但它没有用。是否有可能以其他方式实现这一目标?

3 个答案:

答案 0 :(得分:2)

你不能做这样的事吗?

className: function(){
  return this.model.get('user_id');
}

答案 1 :(得分:1)

您可以将此逻辑设置为onBeforeRender方法

Marionette.ItemView.extend({
    tagName: 'li',
    template: userTpl,
    onBeforeRender: function(){
          this.className = this.model.get('user_id'),
    }
});

答案 2 :(得分:0)

尝试使用setElementhere's the documentation

  

如果您想将Backbone视图应用于其他DOM元素,请使用setElement,它还将创建缓存的$ el引用,并将视图的委托事件从旧元素移动到新元素。