【发布时间】:2015-05-02 14:27:09
【问题描述】:
抱歉,问题可能不正确,但我感到很困惑。我需要根据项目属性的值在 foreach 循环中设置项目的 css 类。
self.CssBind = ko.computed(function (task) {
var CssBind = '';
if (getComplexity(task) === 'Easy') {
CssBind = "green";
} else if (getComplexity(task) === 'Intermediate') {
CssBind = 'yellow';}
else if (getComplexity(task) === 'Difficult') {
CssBind = 'red';
}
return CssBind;
});
我试图以这种方式获得复杂性,但未定义......(在控制器中有接受任务并返回复杂性的方法)
self.complexity = ko.observable();
function getComplexity (task) {
ajaxHelper(taskItem, 'GET').done(function (data) { self.complexity(data); });
};
在html中
<div class="panel panel-default" data-bind="foreach:{data:tasks, as: 'task'}">
<div class="panel-heading">
<a data-toggle="collapse" data-parent="#accordion" data-bind="text: Name, attr: { href : '#collapse' + task.Id}, css: {color: CssBind}">
</a>
</div>
<div data-bind="attr: { id : 'collapse' + task.Id}" class="panel-collapse collapse">
<div class="panel-body">
<span data-bind="text: Name"></span>
</div>
</div>
</div>
要改变什么才能让它工作?
【问题讨论】:
-
如何将参数传递给 CSSBIND?函数是空的?
标签: css knockout.js