Ember.js 模板渲染后调用函数

Ember.js call function after template is rendered

我正在使用 Ember.js 构建一个可以显示地图的应用程序。为了显示地图,我需要在地图渲染后调用一些JS div。

结构布局:

- app/router.js
--> this.route('map')
- app/controllers/map.js
--> build function
- app/templates/map.hbs
--> <div id="map"/>

在jquery我会使用文档准备启动我的JS代码:

$( handler )

我想我应该使用一个视图和一个像“.on('didInsertElement')”这样的回调,但是我无法让管道工作...

好的,我加了杯咖啡,答案来了。

您需要 link 模板的视图。这是新的结构布局:

  • app/router.js
    • this.route('map')
  • app/controllers/map.js
  • app/templates/map.hbs
    • {{视图 ID="map"}}
  • app/views/map.js
    • 构建函数(){}.on('didInsertElement')

实际上,模板渲染的控制是在View层完成的,而不是controller。我理解的控制器是针对用户交互的。