如何检查骨干中模型的特定字段中是否存在数据?

Dav*_*win 1 backbone.js tastypie

我有一个模特.我注意到我添加到该模型.没有问题.

当我实例化视图时,我想看看data.objects是否包含注释中的内容.

我在哪里放if语句?在视图渲染中?我该如何测试呢.

这里有js和骨干菜鸟,所以请原谅我错过了基础知识.

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;

    }

});
Run Code Online (Sandbox Code Playgroud)

Dan*_*nda 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;

},
Run Code Online (Sandbox Code Playgroud)

如果你的意思是该字段也是一个对象的实例,只需执行此操作,检查specialField是否为空,并检查嵌套属性是否已设置:

if( this.model.get('particularField') && 
this.model.get('particularField').someChildAttr){
Run Code Online (Sandbox Code Playgroud)

更新:

"Backbone现在支持has属性"(来自:@TyroneMichael).所以你可以使用:

this.model.has('particularField')
Run Code Online (Sandbox Code Playgroud)

  • Backbone现在支持has属性.所以你可以使用this.model.has('specialField'). (3认同)