在kickout.js中,我有一个非常标准的字段,如下所示:
<label data-bind="text: JobTitle"></label>
我想要的是如果文本值为null,则在此处指定默认值,例如“未指定职务”。
这可以在敲门js中完成吗?
谢谢。
最佳答案
因此,我猜测您需要一个真实的默认值,而不仅仅是一个占位符文本。这是使用扩展器完成此操作的一种方法。
ko.extenders.defaultIfNull = function(target, defaultValue) {
var result = ko.computed({
read: target,
write: function(newValue) {
if (!newValue) {
target(defaultValue);
} else {
target(newValue);
}
}
});
result(target());
return result;
};
var viewModel = function() {
this.someValue = ko.observable().extend({ defaultIfNull: "some default" });
};
ko.applyBindings(new viewModel());
http://jsfiddle.net/madcapnmckay/aTMpp/
希望这可以帮助。
关于data-binding - kickout.js-数据绑定(bind)文本默认值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10577078/