Javascript js条件绑定
如何基于其他属性进行条件绑定 例如 var ViewModel = { IsAdded = ko.observable(), AddedBy = ko.observable() } var ViewModel={ IsAdded=ko.observable(), AddedBy=ko.可观察() } 当我展示它的时候。。如果IsAddedBy为null或false,我不想显示AddedBy 像这样的 <input type="text" data-bind="value: if (IsAdded != null && IsAdded) { AddedBy }"/> <input type=“text”data bind=“value:if(IsAdded!=null&&IsAdded){AddedBy}”/>Javascript js条件绑定,javascript,data-binding,knockout.js,conditional,Javascript,Data Binding,Knockout.js,Conditional,如何基于其他属性进行条件绑定 例如 var ViewModel = { IsAdded = ko.observable(), AddedBy = ko.observable() } var ViewModel={ IsAdded=ko.observable(), AddedBy=ko.可观察() } 当我展示它的时候。。如果IsAddedBy为null或false,我不想显示AddedBy 像这样的 <input type="text" data-bind="value:
我知道这是不对的,但像这样的事情…我会做的就是这样
var ViewModel = function() {
this.IsAdded = ko.observable('True');
this.AddedBy = ko.observable('Test');
this.AddedByText = ko.computed(function(){
if ( this.AddedBy() != null && this.IsAdded() ) return this.AddedBy()
return "";
}, this);
}
那么你的意见就是
<input type="text" data-bind="value: AddedByText" />
这样,您就可以保留ViewModel中包含的逻辑,并将其与HTML分开。这个问题很老了,但它可能有助于其他人查看
<input type="text" data-bind="value: IsAdded ? AddedBy : "" "/>
基本上,如果IsAdded不为null,则将
值设置为AddedBy,否则不执行任何操作是要隐藏整个输入框,还是不填充它?如果要完全隐藏它,请查看绑定。如果您不想填充它,那么Tim的答案是正确的