在使用与requireJS进行淘汰时,我遇到了使用自定义绑定处理程序的问题.基本上,在过去我已经包括一个全局绑定处理程序js文件,其中包含我的所有自定义绑定.现在我正在使用requireJS来强制依赖,我不知道如何访问这些自定义绑定.
我以前用来创建全局函数
function KOCustomBindings() { // Custom Bindings ko.bindingHandlers.returnKey = { //handler code } }
现在我正在使用require,我觉得我应该有一个define语句
define(['jquery','knockout'],function($,ko)){ // Custom Bindings return KOCustomBindings; } });
但是,我不相信绑定将执行,除非特别叫做,也许在一个垫片?有人有什么想法吗?
谢谢你的帮助,
解决方法
由于自定义绑定修改了ko对象,它们只需要加载一次,并且它们的模块不需要返回任何东西.如果您有一个主/输入/应用程序部分作为应用程序的第一步,只需要您的自定义绑定和扩展程序即可.
define(['jquery',ko)){ // Custom Bindings ko.bindingHandlers.returnKey = { ... } //NO return needed });
然后,在你的启动部分,只是
require('lib/custom-ko-bindings');