2

text=''只要 model.id 为空,我想重置输入字段 ( ) 的值。

如何绑定输入值以响应可观察对象的某个值?看起来像:

<input type="text" data-bind="text: if (model.value == null) { '' }" />
4

4 回答 4

5

您可以?在数据绑定属性中使用运算符:

<input type="text" data-bind="value: model.id() == null ? 'Default Value' : model.value()" />
于 2012-12-14T10:32:04.593 回答
0

在您的视图模型中,启动属性值如下:

var model.value = ko.observable('');

在 HTML 中,您不必使用条件表达式

data-bind="text: model.value"
于 2012-12-14T10:28:40.380 回答
0

检查这些代码

<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/

于 2012-12-14T10:45:19.397 回答
0

正确的答案应该是创建一个计算的 observable 来获取标签。

self.getLabel = ko.pureComputed(function() {
    return this.value() === null ? 'Value is red' : value();
});

<input type="text" data-bind="text: getLabel" />
于 2016-09-19T21:11:58.587 回答