0

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

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

这可行,虽然我不能完全掌握使用 catch 输入键参数的语法:

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

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

然后我突然想到:既然这是针对特定控件的,为什么不将其简化为:

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

不过,我找不到使这项工作发挥作用的神奇组合。如何传入并将对象 CurrentPageIndex 绑定到 .text?

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

就像是:

4

1 回答 1

0

你可以这样做applyBindingsToNode

init: function (element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) 
{
   var currentPageIndex = valueAccessor();
   ko.applyBindingsToNode(element, {text: currentPageIndex});
   // ...
}
于 2013-10-24T18:47:24.327 回答