【问题标题】:custom binding handler not firing自定义绑定处理程序未触发
【发布时间】:2013-12-26 00:12:12
【问题描述】:

只是想创建我的第一个自定义绑定处理程序:

<input data-bind="value:firstName,valueUpdate:'afterkeydown'" type="text" />
<button data-bind="myhandler: firstName" ></button>

ko.bindingHandlers.myhandler =
    {
        update: function (element, valueAccessor) {
            var value = ko.utils.unwrapObservable(valueAccessor);
            $(element).css("background", "red");
            console.log('update');
        }
    }

var vm = function () {
    this.firstName = ko.observable('bert');
}

ko.applyBindings(new vm());

问题是,当我更新值时,它不会触发“更新”。我只在启动时触发?这是jsfiddle链接: http://jsfiddle.net/dingen2010/c43hu/2/

【问题讨论】:

    标签: knockout.js knockout-mapping-plugin ko-custom-binding


    【解决方案1】:

    您需要在值访问器上使用 getter 来订阅值更改 -

    http://jsfiddle.net/c43hu/3/

    var value = ko.utils.unwrapObservable(valueAccessor());
    

    【讨论】:

      猜你喜欢
      • 2016-03-31
      • 2018-01-17
      • 1970-01-01
      • 2012-08-08
      • 2014-09-13
      • 1970-01-01
      • 1970-01-01
      • 2017-10-19
      • 1970-01-01
      相关资源
      最近更新 更多