knockout自定义绑定传递对象

时间:2013-10-24 17:35:44

标签: javascript knockout.js

我有一个网格控件,其上有一个Y页面。 X绑定到CurrentPageIndex(CPI)。 一个页面可以有多个网格,因此CPI可以是,i.CPI j.CPI等。

我被要求扩展它,以便X是Span或Input。目前我已经实施了:

虽然我无法使用catch enter key参数获取语法,但这仍然有效:

<input type="text" data-bind="value: CurrentPageIndex, currentPageIndexInput: 'CatchEnterKey'">

绑定currentPageIndexInput阻止非数字值并处理回车键。

然后它发生在我身上:因为这是针对特定控件的,为什么不将其简化为:

<input type="text" data-bind="currentPageIndexInput: CurrentPageIndex">

我无法找到这种神奇的组合来完成这项工作。如何传入并将对象CurrentPageIndex绑定到.text?

ko.bindingHandlers.currentPageIndexInput = {
init: function (element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) 
{
   text : CurrentPageIndex;
}

类似的东西:

1 个答案:

答案 0 :(得分:0)

您可以使用applyBindingsToNode

执行此操作
init: function (element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) 
{
   var currentPageIndex = valueAccessor();
   ko.applyBindingsToNode(element, {text: currentPageIndex});
   // ...
}