我正在尝试使用jQueryUI滑块显示/隐藏集合中的项目。
滑块返回值1到10,如果项目的“win”属性高于滑块的值,我想显示项目,反之亦然。
我到目前为止:
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>
答案 0 :(得分:3)
您需要创建一个计算的observable,以便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);
});