0

arrayFilterフィルターされたセットを返すために通過するobservableArrayがあります。しかし、私は現時点で1つの観測可能なものに対してのみそれを行っています。2番目のオブザーバブルを追加するにはどうすればよいですか?

return ko.utils.arrayFilter(self.complaints(), function (complaint) {
    return complaint.RaisedBy == self.currentUser();
});

したがって、オブジェクトのCodeプロパティに基づいてフィルタリングすることもできます。complaint

return ko.utils.arrayFilter(self.complaints(), function (complaint) {
    return complaint.Code == self.currentCode();
});

どうすればそれらを2つ組み合わせることができますか?

4

2 に答える 2

2

やってみました:

return ko.utils.arrayFilter(self.complaints(), function (complaint) {
    return complaint.Code == self.currentCode() && complaint.RaisedBy == self.currentUser();
});
于 2012-08-24T11:08:34.127 に答える
0

このようなものが機能するはずです:

self.myDependantObservable = ko.computed(function(){
   var currentUser = self.currentUser();
   var currentCode = self.currentCode();

   return result = ko.utils.arrayFilter(self.complaints(), function (complaint) {
     return (complaint.RaisedBy == currentUser && complaint.Code == currentCode);
   });

});
于 2012-08-24T11:09:36.840 に答える