私は knockout.js を使用しており、2 つの 2 つのテキスト入力に値が設定されているかどうかを確認したいと考えています。もしそうなら、何かをしてください。
以下は機能しますが、カスタムバインディングまたはその他の方法を使用して「ノックアウト」する方法があるかどうかを知りたいです。将来、より複雑な状況でノックアウトの機能を活用できるように、ノックアウトについてもっと学びたいと思っています。
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);
});
いずれかの日付が変更されるたびにアラートがトリガーされます。また、一連のコードを返すだけです。