我正在使用 KO 的 2.2.0 版本,我正在尝试为option
这样的元素设置 CSS:
<select data-bind="foreach: $data.answers, value: selectedAnswer">
<option data-bind="css: $data.getScoringLevel, value: $data, text: $data.text"></option>
</select>
这是 getScoringLevel() 函数:
// Answer.
var Answer = function () {
var self = this;
self.id = '';
self.text = '';
self.sendAnswerToWebService = true;
self.scoringLevel = ko.observable(0);
self.getScoringLevel = ko.computed(function () {
switch (self.scoringLevel()) {
case 1:
return 'red';
case 2:
return 'orange';
case 3:
return 'yellow';
default:
return '';
}
}, self);
};
我可以看到该函数已执行,因为我在其中放置的断点被命中,但呈现的 HTML 如下所示:
<option data-bind="css: $data.getScoringLevel, value: $data, text: $data.text" value="">Choose....</option>
class
由于某种原因没有设置属性。例如,我期待在某个地方出现 `class="red"'。
有人可以告诉我我做错了什么吗?