我正在使用 knockout.js,我想检查两个两个文本输入是否设置了值。如果是,那就做点什么。
以下工作,但我想知道是否有使用自定义绑定或其他方式的“淘汰”方式。我只是想了解更多关于淘汰赛的信息,以便能够在未来利用其功能应对更复杂的情况。
function DatesViewModel(startDate,endDate){
var self = this;
self.startDate = ko.observable("");
self.endDate = ko.observable("");
self.startDate.subscribe(function(newValue) {
check_dates();
});
self.endDate.subscribe(function(newValue) {
check_dates();
});
function check_dates(){
if(self.startDate() !== "" && self.endDate() !== ""){
alert('values set');
}
}
}
我尝试使用计算函数执行 DoctorMick 建议的操作,但要么我误解了它的用法,要么它不起作用。
self.datesEntered = ko.computed(function() {
if(self.startDate() !== "" && self.endDate() !== ""){
return self.startDate() && self.endDate();
}
});
self.datesEntered.subscribe(function() {
alert(self.datesEntered);
});
每次更改任一日期时都会触发警报。此外,它只是返回一堆代码。