首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Backbone.js模型默认值是否覆盖null、未定义等,我输入了视图?

Backbone.js模型默认值是否覆盖null、未定义等,我输入了视图?
EN

Stack Overflow用户
提问于 2013-03-24 21:30:00
回答 1查看 1.5K关注 0票数 0

我在Backbone.js上做了第一步,如果视图从外部获取undefinednull值,我在理解如何设置默认值方面遇到了一些问题:

代码语言:javascript
复制
var Status = {
    Models: {},
    Collections: {},
    Views: {},
    Templates:{}
}
Status.Models.Message = Backbone.Model.extend({
    defaults:{
        icon:'path/info-icon.png',
        type:'warning',
        title:'Information',
        message:'There is nothing to read here.'
    },
    initialize:function () {
        console.log("Status.Models.Message initialized");
    }
});

Status.Views.Message = Backbone.View.extend({
    initialize:function () {
        console.log("Status.Views.Message initialized");
    },
    render:function () {
        var template = _.template($('#status-message-template').html());
        $('body').append($(this.el).attr('id', 'status-message').html(template(this.model.toJSON())));
        var timer = setTimeout(function () {$('#status-message').addClass('enter')}, 1500);

    }
});

我想找到一种方法,让Backbone.js 覆盖 data params,并强制它在""undefinednull的情况下使用defaults值。

代码语言:javascript
复制
$(function(){
    var data = {
       type:undefined,
       message:'This is the new message!'
    };
    var messageModel = new Status.Models.Message ();

    messageModel.set({
        type: data.type, // how to let it get defaults.type because data.type is undefined?
        message: data.message
    });

    var messageView = new Status.Views.Message({
        model:messageModel
    });
    messageView.render();
});

有没有一种简单的方法来做到这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-24 22:31:15

您的意思是,在data.type未定义的情况下,如何获得默认值?

您需要定义默认值,然后分配未定义的默认值。通过执行data.type \ data.type_default,将自动返回未定义的那个。

代码语言:javascript
复制
var data = {
 type : undefined,
 default_type : "something",
 ...
}

messageModel.set({
 type: data.type || data.default_type,
 ...
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15604237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档