[英]Knockout.js: Set a default text if a binding has a given value
每当model.id为null时,我想重置输入字段( text=''
)的值。
如何绑定输入值以响应可观察对象的某个值? 看起来像这样:
<input type="text" data-bind="text: if (model.value == null) { '' }" />
可以用?
数据绑定属性中的运算符:
<input type="text" data-bind="value: model.id() == null ? 'Default Value' : model.value()" />
在您的视图模型中,按如下所示初始化属性的值:
var model.value = ko.observable('');
在HTML中,您不必使用条件表达式
data-bind="text: model.value"
检查这些代码
<input type="text" data-bind="value: id() == true? 'Value is Red' : value()" />
function viewModel() {
this.id = ko.observable(true);
this.value = ko.observable("Value is Green");
}
ko.applyBindings(new viewModel());
正确的答案应该是创建一个可计算的可观察值以获取标签。
self.getLabel = ko.pureComputed(function() {
return this.value() === null ? 'Value is red' : value();
});
<input type="text" data-bind="text: getLabel" />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.