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
元素。
我觉得你有一个视图来显示模态的单个属性真的很奇怪。
在大多数情况下,视图将显示整个模型中的数据。在这种情况下,如果您想避免空属性被传递到您正在使用的任何模板方法中,您可以覆盖自定义模态构造函数的 toJSON()
方法以排除空值
我正在使用 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
元素。
我觉得你有一个视图来显示模态的单个属性真的很奇怪。
在大多数情况下,视图将显示整个模型中的数据。在这种情况下,如果您想避免空属性被传递到您正在使用的任何模板方法中,您可以覆盖自定义模态构造函数的 toJSON()
方法以排除空值