我有一个模特。 我注意到我添加到该模型。 没问题。
当我实例化视图时,我想看看data.objects是否在注释中有内容。
我在哪里放置if语句?在视图渲染中?我该如何测试呢。
js和backbone noob在这里,所以请原谅我错过了基础知识。
Lemme知道并非常感谢。
欢迎任何对教程的引用。
更新:这是我的模型的视图
var BlasterView = Backbone.View.extend({
tagName: 'li',
className: 'blaster',
events: {
'click .td-blaster a': 'done'
},
initialize: function() {
_.bindAll(this, 'render');
},
render: function(){
this.$el.html(ich.blasterTemplate(this.model.toJSON()));
return this;
},
done: function(){
this.model.toggle();
this.$el.animate({
backgroundColor:'#faeca9'
}, 600 ).delay(600).fadeOut('fast');
return false;
}
});
答案 0 :(得分:5)
render: function(){
if( this.model.get('particularField') ){
console.log('Particular Field has a value');
}else{
console.log('Particular Field does NOT have a value');
}
this.$el.html(ich.blasterTemplate(this.model.toJSON()));
return this;
},
如果您的意思是该字段也是对象的实例,只需执行此操作,检查specialField是否为空,并检查是否已设置嵌套属性:
if( this.model.get('particularField') &&
this.model.get('particularField').someChildAttr){
更新:
“Backbone现在支持has属性”(来自:@TyroneMichael)。所以你可以使用:
this.model.has('particularField')