Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 尝试理解Knockout.js自定义绑定_Jquery_Knockout.js - Fatal编程技术网

Jquery 尝试理解Knockout.js自定义绑定

Jquery 尝试理解Knockout.js自定义绑定,jquery,knockout.js,Jquery,Knockout.js,因此,我正在使用淘汰自定义绑定,我有以下代码: <input type="radio" class="radio" data-bind="custombind: custombind"/> <input type="text" class="text" data-bind="custombind: custombind"/> 也许我误解了自定义绑定的工作原理,但我希望这会返回具有“custombind”数据绑定的任何元素的类名。目前似乎什么都没有发生。如果您能告诉我哪里

因此,我正在使用淘汰自定义绑定,我有以下代码:

<input type="radio" class="radio" data-bind="custombind: custombind"/>
<input type="text" class="text" data-bind="custombind: custombind"/>
也许我误解了自定义绑定的工作原理,但我希望这会返回具有“custombind”数据绑定的任何元素的类名。目前似乎什么都没有发生。如果您能告诉我哪里出了问题,我们将不胜感激。谢谢

--小提琴--

--参考--


尽管文档中没有明确说明,但在调用
ko.applyBindings
之前,应定义所有自定义绑定

否则,在解析
数据绑定
属性时,KO将不知道如何处理自定义绑定

因此,以下代码可以正常工作:

ko.bindingHandlers.custombind = {
    init: function(element, valueAccessor, allBindingsAccessor, 
                   viewModel, bindingContext) 
    {
        alert($(element).attr('class'));
    }
}

var viewModel = {
    custombind: ko.observable(true)
};
ko.applyBindings(viewModel);

演示。

尽管文档中没有明确说明,但在调用
ko.applyBindings
之前,应定义所有自定义绑定

否则,在解析
数据绑定
属性时,KO将不知道如何处理自定义绑定

因此,以下代码可以正常工作:

ko.bindingHandlers.custombind = {
    init: function(element, valueAccessor, allBindingsAccessor, 
                   viewModel, bindingContext) 
    {
        alert($(element).attr('class'));
    }
}

var viewModel = {
    custombind: ko.observable(true)
};
ko.applyBindings(viewModel);

演示。

我不知道!感谢您的帮助,我一直在努力解决这一问题,但从未停止过思考这可能是一个范围问题。我只是觉得我搞砸了别的事情。我不知道!感谢您的帮助,我一直在努力解决这一问题,但从未停止过思考这可能是一个范围问题。我只是觉得我把别的事情搞糟了。