在Knockout中绑定命名空间

时间:2014-12-25 07:04:18

标签: knockout.js

我创建了一个Knockout组件,我为其创建了一些自定义绑定。其中一个是名为textInput的绑定。

现在我想升级到Knockout 3.2,但发现它们也创建了一个新的textInput绑定,它将与我的绑定发生碰撞。

我想升级到新版本并且不想重命名我的绑定,因为它在很多地方被引用。我需要像“命名空间”这样的绑定。我可以用来组织我的绑定以不与其他本机或自定义绑定碰撞的东西。

1 个答案:

答案 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上举了一个使用这种命名方法的例子。