我正在尝试在knockout中创建一个自定义绑定处理程序到总数据列。我有一个应用程序,我需要总共很多列的数据,并认为自定义绑定处理程序可以做到这一点。
示例绑定:
<span data-bind="totalAmount: Adjustments, columnName:'Amount'"></span>
自定义绑定处理程序类似于:
ko.bindingHandlers.totalAmount = {
update: function(element, valueAccessor, allBindings, viewModel, bindingContext) {
var val = valueAccessor();
var unwrappedVal = ko.unwrap(val);
var columnName = allBindings().columnName;
var total = 0;
ko.utils.arrayForEach(unwrappedVal, function (item) {
var amt = item.<columnName>();
total += amt;
});
$(element).html("$" + total);
}
}
在上面的代码中,如何通过columnName属性获取与传入的属性关联的observable的值?