在两个变量上敲除数据绑定

时间:2014-09-24 18:48:27

标签: knockout.js

是否可以将enable属性数据绑定到KO中的两个变量?

<input type="checkbox" data-bind="enable: (prop1 || prop2), click: $root.rootProp />

2 个答案:

答案 0 :(得分:3)

是的,您绝对可以根据两个属性启用复选框。

如果这是您的HTML:

<input type="checkbox" data-bind="enable: prop1() || prop2()" />

这是你的观点模型:

var viewModel = {
        prop1 : ko.observable(false),
        prop2 : ko.observable(true)
    };

ko.applyBindings(viewModel);

请参阅this jsfiddle,并将prop1prop2设置为truefalse

答案 1 :(得分:2)

您可以使用ko.computed

this.enabled = ko.computed(function () {
    // get observable value
    return this.prop1() || this.prop2();
}, this);

data-bind="enable: enabled,