hide/remove 如果文档流为空,则从文档流中查看 属性

hide/remove view from document flow if it has empty property

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

模型示例:

var User = Backbone.Model.extend({});
var userJon = new User({
    username:'jonraasch',
    displayName:'Jon Raasch',
    bio:'some nerd'
});

我面临的问题是并非所有模型实例都具有全部 3 个属性。有些人可能会错过简历,其他人可能会错过 displayName。

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

这可以使用 backbone.js 完成吗?如何做?我创建了一支笔,以帮助形象化我的意思:http://codepen.io/anon/pen/NpwERv

根据您的codepen,您可以简单地添加以下内容:

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

这将从 DOM 中删除 el 元素。

Updated codepen


我觉得你有一个视图来显示模态的单个属性真的很奇怪。

在大多数情况下,视图将显示整个模型中的数据。在这种情况下,如果您想避免空属性被传递到您正在使用的任何模板方法中,您可以覆盖自定义模态构造函数的 toJSON() 方法以排除空值