0

jQueryUI スライダーを使用してコレクション内のアイテムを表示/非表示にしようとしています。

スライダーは 1 から 10 の値を返します。項目の「勝利」プロパティがスライダーの値よりも高い場合、またはその逆の場合に項目を表示したいと考えています。

私はこれまでに持っています:

http://jsfiddle.net/FloatLeft/uqv7D/

このコードがアイテムの可視性を設定することを望んでいました

ko.utils.arrayForEach(viewModel.euroTeams, function(team) {
    team.win = ko.observable(team.win);
    team.lose = ko.observable(team.lose);
    team.showTeam = team.win() > viewModel.wins();   
});

テンプレート:

<div class="team" data-bind="visible: showTeam"></div>
4

1 に答える 1

3

showTeam の値も更新されるように、計算されたオブザーバブルを作成する必要があります。

この件に関するリファレンスは次のとおりです。http://knockoutjs.com/documentation/computedObservables.html

私はあなたのフィドルを更新しました:http://jsfiddle.net/uqv7D/17/

フリークの提案に従って、外部ソースに依存しないように、以下のコードを貼り付けています。

ko.utils.arrayForEach(viewModel.euroTeams, function(team) {
    team.win = ko.observable(team.win);
    team.lose = ko.observable(team.lose);
    team.showTeam = ko.computed(function() {
        return team.win() > viewModel.wins();
    }, this);
});
于 2012-06-18T14:13:48.927 に答える