基本上我需要做的就是
App.CommentView = Backbone.View.extend({
className: function() {
if (this.model.get('parent_id')) {
return 'comment comment-reply';
} else {
return 'comment';
}
},
问题是,传递给className
的函数是在视图模板的html上下文中执行的,所以我不能调用this.model
。
在渲染过程中,是否有任何方法可以在此时访问模型?或者我是否需要稍后设置类,例如在render
函数中?
4条答案
按热度按时间omqzjyyz1#
这听起来像是模型绑定的作业。
b1zrtrql2#
您应该使用属性散列/函数:
6ie5vjzr3#
我认为使用
this.$el.toggleClass
或简单地在render
中添加类会容易得多。但是,如果要在构造视图时设置类,则可以将其作为选项传递:
c8ib6hqw4#
我是在View初始化时执行的