0

我有一个自定义的淘汰赛绑定,例如:

ko.bindingHandlers.yourBindingName = {
    init: function(element, valueAccessor, allBindingsAccessor,
                   viewModel, bindingContext)
    {
        // how to access the value-part of the data-bind="name:value" attribute?
    },
};

和:

<div data-bind="yourBindingName: someValue"> </div>

是否可以从 -function 访问 data-bind 属性的值部分(即上例中的“someValue”)init


更新:只是为了澄清我的意思:

  • 的数据绑定属性div具有名称和值部分,用冒号分隔,例如“yourBindingName: someValue”
  • name-part 指定调用哪个绑定
  • 我想访问绑定中的值部分并将其用作参数
4

2 回答 2

0

我不知道你为什么要这样做,但你去:

ko.bindingHandlers.reflector = {
    init: function(element, valueAccessor, allBindingsAccessor,
                   viewModel, bindingContext)
    {
        var reflected;
        var binding = valueAccessor();
        for (var prop in viewModel) {
            if (viewModel[prop] == binding) {
                reflected = prop;
                break;
            }
        }
        ko.bindingHandlers.text.update(element, function(){ return reflected});
    },
};

小提琴中

于 2013-03-27T15:36:30.433 回答
0

如果我理解正确,那么发送到自定义绑定处理程序的数据是 valueAccessor,作为可观察的。因此,如果您想要该值,请执行以下操作:

var value = valueAccessor();
于 2013-03-27T10:28:43.237 回答