複数の条件で計算されたものをフィルタリングしようとしています。return ステートメントが複数の条件でネストされている例をたくさん見てきましたが、なぜそれらが機能するのか本当にわかりません。ここでの私の例は、ネストされた return ステートメントの候補ではないかもしれませんが、これを実行する方法がわかりません。
//ko.utils.arrayFilter - filter the items using the filter text
viewModel.filteredItems = ko.computed(function() {
var filter = this.filter().toLowerCase();
if (!filter) {
return this.items();
} else {
return ko.utils.arrayFilter(this.items(), function(item) {
return (item.fullName().toLowerCase().indexOf(filter) > -1);
});
}
//*** THIS LOGIC WORKS BY ITSELF BUT NOT COMBINED WITH THE ABOVE LOGIC ***
//var t = this.selectedTag();
//if (t == "all") return this.items();
//return ko.utils.arrayFilter(this.items(), function(item) {
// return item.tag == t;
//});
}, viewModel);
フィドルの完全な例は次のとおりです。http://jsfiddle.net/boyus/qTb5Q/12/
前もって感謝します。