我想做的是:
<input data-bind="value: Adult.FirstName, visible: editable" />
<span data-bind="text: Adult.FirstName, visible: !editable"></span>
viewModel = kendo.observable({
editable: false
});
但我收到错误:
Uncaught SyntaxError: Unexpected token !
我能够弄清楚如何做到的唯一方法是:
<input data-bind="value: Adult.FirstName, visible: editable" />
<span data-bind="text: Adult.FirstName, visible: not('editable')"></span>
viewModel = kendo.observable({
editable: false,
not: function(value) { return !this.get(value);},
});
和
<input data-bind="value: Adult.FirstName, visible: editable" />
<span data-bind="text: Adult.FirstName, visible: notEditable"></span>
viewModel = kendo.observable({
editable: false,
notEditable: function() { return !this.get("editable");},
});
但我宁愿只跟踪一个没有额外功能的变量。
答案 0 :(得分:15)
您可以使用不可见的数据绑定。
http://docs.telerik.com/kendo-ui/getting-started/framework/mvvm/bindings/invisible
或者,您可以监视viewModel的更改事件,检查可编辑的更改,并将第二个viewModel属性更改为相反的值。然后你有两个属性,但实际上只需要管理其中一个属性。