让子视图/子视图知道它们何时已经在 DOM 中的最佳方法是什么?
考虑我们有以下视图层次结构:
MainView
SubView
ChildView
例如,这里MainView已经在 DOM 中。然后作为render过程的一部分MainView创建SubView,然后创建ChildView。
因此,在完成渲染ChildView之前不会在 DOM 中。MainView我需要知道(通过事件或处理程序)何时插入和显示。
最直接的答案是MainView在渲染完成时触发一些事件。如果这是我唯一需要它的情况——那就没问题了。但是有很多地方,一般来说突然子视图决定了他们的父母该做什么,可能不好。
更新:在什么情况下需要这样做?当我们使用期望元素在 DOM 中的小部件时(获取高度等)。例如:手风琴小部件,jqGrid。因此,当它们的容器已经在 DOM 中时,初始化它们的正确时间。