【发布时间】:2012-05-01 11:06:30
【问题描述】:
我正在写一个Ember.View,它将一个树形结构变成一个菜单。为此我需要递归,所以我在视图模板中使用的是 {{view}} 助手,它递归地调用自身来构建嵌套的 <ul><li> 结构。
我需要的是一个钩子来调用一些 jQuery 插件来把这个结构变成菜单。当我从didInsertElement 事件调用插件时,子视图尚未呈现。所有子视图都渲染完成后如何运行代码?
【问题讨论】:
我正在写一个Ember.View,它将一个树形结构变成一个菜单。为此我需要递归,所以我在视图模板中使用的是 {{view}} 助手,它递归地调用自身来构建嵌套的 <ul><li> 结构。
我需要的是一个钩子来调用一些 jQuery 插件来把这个结构变成菜单。当我从didInsertElement 事件调用插件时,子视图尚未呈现。所有子视图都渲染完成后如何运行代码?
【问题讨论】:
尝试在 Ember.run.next() 中调用插件,它应该在当前运行循环完成后调用它...我相信在创建所有子视图之前不会发生。
【讨论】:
这可能对您的情况有所帮助,我 made a handlebars helper 会告诉您子部分何时呈现。默认情况下,它会向您的视图对象发送一个事件,因此您的每个实例化视图都会在它们呈现时收到一个事件。
【讨论】: