knockout自定义绑定以使用动态属性名访问observableArray数据

时间:2014-12-23 15:15:51

标签: knockout.js

我正在尝试在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的值?

0 个答案:

没有答案