我创建了一个Knockout组件,我为其创建了一些自定义绑定。其中一个是名为textInput
的绑定。
现在我想升级到Knockout 3.2,但发现它们也创建了一个新的textInput
绑定,它将与我的绑定发生碰撞。
我想升级到新版本并且不想重命名我的绑定,因为它在很多地方被引用。我需要像“命名空间”这样的绑定。我可以用来组织我的绑定以不与其他本机或自定义绑定碰撞的东西。
答案 0 :(得分:3)
如果你想要命名空间'你的绑定处理程序,只需使用“点缀”和“#39;名称,例如" my.namespace.textInput&#34 ;.这样你也可以通过包含'命名空间'。
来使用它们这方面的一个例子是:
ko.bindingHandlers['my.namespace.textInput'] = {
//Same content as you already have in your binding handler.
};
此绑定处理程序的用法可能如下所示:
<input data-bind="my.namespace.textInput: myValueProperty" />
我在http://jsfiddle.net/4zwo8s30/的jsfiddle上举了一个使用这种命名方法的例子。