繁体   English   中英

Knockout.js:如果绑定具有给定值,则设置默认文本

[英]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());

http://jsfiddle.net/d4SKr/

正确的答案应该是创建一个可计算的可观察值以获取标签。

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM