【发布时间】:2014-08-12 14:37:24
【问题描述】:
具有以下视图模型(取出一些部分)
function ProjectViewModel() {
var self = this;
self.openProjects = ko.observableArray();
self.currentPhase = ko.observable();
self.filteredProjects = ko.computed(function() {
return ko.utils.arrayFilter(self.openProjects(), function(ProjectModel) {
return ProjectModel.phase == self.currentPhase();
});
});
self.filter = function (phase) {
self.currentPhase(phase);
}
}
我想要一个项目总数的跨度:
<span data-bind="text: openProjects().length + ' Projects'"></span>
然后我想要每个项目阶段的跨度显示该阶段的项目数量,但我不确定如何传递参数?
<span data-bind="text: filteredProjects().length"></span> // pass on for example 'Starting'
<span data-bind="text: filteredProjects().length"></span> // pass on for example 'Running'
<span data-bind="text: filteredProjects().length"></span> // pass on for example 'Closing'
在self.filteredProjects = ko.computed(function() { 我可以简单地对值进行硬编码并重复该代码三遍,但必须有更好的方法吗? IE。以某种方式使用参数绑定 self.currentPhase?
【问题讨论】:
标签: knockout.js