注册你的绑定 添加子属性到ko.bindingHandlers来注册你的绑定: <script type="text/javascript"> ko.bindingHandlers.yourBindName 那你可以自定义自己的绑定来调用jQuery的slideUp/slideDown 函数: ko.bindingHandlers.slidVisible = { update: function 你可以这样来做: ko.bindingHandlers.slideVisible = { init: function(element, valueAccessor) { 你可以使用init回调来注册一个事件句柄,这样可以改变相关的observable值,例如 ko.bindingHandlers.hasfocus = { init: function
Knockout进阶 3.1 Custom bindings Binding连接view和viewmodel,除了内置bindings,你可以创建自己的binding 将待注册的绑定,添加为ko.bindingHandlers ko.bindingHandlers.yourBindingName = { init: function(element, valueAccessor, allBindings, viewModel for(var key in bindings){ if(bindings.hasOwnProperty(key)){ var fn = $.bindingHandlers fn(node, observable) } } },node); return nodeBind } $.bindingHandlers = {} $.bindingHandlers["text"] = { 'update': function (node, observable) { var val = observable
在knockout里面,提供了ko.bindingHandlers属性,用于自定义data-bind属性,它的语法如下: ? ? ko.bindingHandlers.MySelect = { init: function (element, valueAccessor, allBindingsAccessor, viewModel 6.1、最简单的MutiSelect 一般情况下,如果我们需要使用ko去封装一些通用组件,就需要用到我们的ko.bindingHandlers,下面博主就结合MutiSelect组件来说说如何使用。 首先声明自定义的ko.bindingHandlers,在init方法里面初始化我们的select标签 ko.bindingHandlers.MySelect = { init: function 6.2、参数传递 第一步还是自定义ko.bindingHandlers ? ?