我有一个使用 3.2.0 的嵌套 KnockoutJS 组件的层次结构。它工作得很好,但我希望在加载和渲染整个组件层次结构后执行一些代码。它大致相当于 afterRender(),与 afterRender 相同的常见用例需要。
我已经尝试了一些方法,但到目前为止没有运气:
- 在根模板中添加了以下内容,但在加载嵌套组件之前调用它,所以为时过早。
<!--ko template: {afterRender: onLoad.bind($data)} -->
- 使用最新的 3.3.0-alpha 并在所有组件上指定 synchronous:true。但我相信,由于我使用的是 AMD,组件仍然是异步“加载”的,这意味着仅仅因为我的根 applyBindings() 返回,并不意味着所有组件都已加载和渲染。
- 甚至尝试构建延迟对象的集合,这些对象仅在加载相应组件时才被解析。这变得过于复杂并且由于我不会进入的原因仍然没有工作。
一旦加载和渲染了完整的 knockoutjs 组件层次结构,有没有办法调用回调?谢谢!
我刚刚遇到这两个线程,所以似乎其他人也在寻找这个。与现有解决方法的主要区别在于它们不适用于嵌套组件。