Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果视图具有空属性,则从文档流中隐藏/删除视图_Javascript_Backbone.js - Fatal编程技术网

Javascript 如果视图具有空属性,则从文档流中隐藏/删除视图

Javascript 如果视图具有空属性,则从文档流中隐藏/删除视图,javascript,backbone.js,Javascript,Backbone.js,我正在使用主干创建一些不错的模型实例,并用它们填充一些视图 模型示例: var User = Backbone.Model.extend({}); var userJon = new User({ username:'jonraasch', displayName:'Jon Raasch', bio:'some nerd' }); 我面临的问题是,并非所有的模型实例都具有所有3个属性。有些人可能错过了bio,有些人错过了displayName 当bio:“”或id根本不

我正在使用主干创建一些不错的模型实例,并用它们填充一些视图

模型示例:

var User = Backbone.Model.extend({});
var userJon = new User({
    username:'jonraasch',
    displayName:'Jon Raasch',
    bio:'some nerd'
});
我面临的问题是,并非所有的模型实例都具有所有3个属性。有些人可能错过了bio,有些人错过了displayName

当bio:“”或id根本不包含bio时,我想将缺少的属性视图完全删除,使其不可见。如果我将
displayName
设置为
'
,文档流中将有一个占位符。我不想要空的占位符


可以使用backbone.js实现这一点吗?如何实现?我创建了一支笔,以帮助可视化我的意思:

根据您的代码笔,您只需添加以下内容:

if(!dn){ // <--- model value. Use _.isUndefined if 0 is valid
    this.remove();
}

if(!dn){//像数组这样的过滤是不够的吗?像在做你的事情之前过滤它我不确定我是否遵循,但我没有使用主干来创建和折叠动态视图。html已经存在了。正如你所看到的,有时已经设置了太多的html。我使用主干只是为了表示模型。谢谢,伙计。我才刚刚开始g为了揭开主干和JS的整体面纱,所以我的代码中没有最佳实践:)@sanjihan看一看中投票最多的问题,你可能遇到的常见问题已经解决了。这将帮助你了解主干的细节以及如何用主干的方式做事。