[英]How to use current object in a computed observable? — Knockout.js
我在数组上有一个foreach
数据绑定。
我想访问当前对象或放置在计算出的可观察对象中(与click
数据绑定有关)。
例:
这是我的观点:
<tbody data-bind='foreach: items'> <tr data-bind="attr: {class:$root.changeClass()}"> <td data-bind='text: name'></td> </tr> </tbody>
并且,这是视图模型:
function model() { var self = this; self.items = ko.observableArray(itemArray); self.changeClass = ko.computed(function(data) { //code that depends on data return 'someClass'; }); };
我是初学者。 请帮忙。 提前致谢。
试试这个
视图:
<table data-bind='foreach: items'>
<tr data-bind="attr: {class:$root.changeClass($data)}">
<td data-bind='text: $data'></td>
</tr>
</table>
CSS:
.classEven{
color:blue;
}
.classOdd{
color:red;
}
viewModel:
function model() {
var self = this;
self.items = ko.observableArray([1,2,3]);
self.changeClass =function(data) {
//code that depends on data
if(data%2) return 'classEven';
else return 'classOdd';
};
};
ko.applyBindings(new model()); // This makes Knockout get to work
工作样本在这里摆弄
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.