关于javascript:如何在剔除绑定中的afterRender中运行函数?

How to run functions in afterRender in knockout binding?

我需要在文本框输入中添加一个日期选择器,其可见性由剔除js绑定控制。

1
2
3
4
5
<!-- ko if: hasWorked -->

    <input id="StartDate" name="StartDate" type="text" />

<!-- /ko -->

我的猜测是:

1
<!-- ko if: hasWorked, afterRender:initDatepicker -->

但是它从来没有奏效。

显示文本框然后运行函数来处理它的正确方法是什么?


afterRender仅对foreachtemplate可用。

幸运的是,我们可以做无容器模板。

因此解决方案:

1
2
3
<!-- ko template: {if: hasWorked,afterRender:initDatepicker} -->
...
<!-- /ko -->

参考:

  • 无容器模板Maksym提供的解决方案
    科兹连科。不是选定的答案。
  • template中使用afterRender,请参见模板上的基因剔除官方文档(向下滚动至注释4)。