模板的`didInsertElement`的等价钩子在哪里?

时间:2017-03-05 08:51:50

标签: ember.js

我正在创建一个“登陆页面”,并且在页面加载时需要执行一些页面逻辑(主要是动画和交互)脚本。

我已尝试将script标记直接放在模板hbs中,但西兰花会抱怨语法问题。

所以我想到了组件中的didInsertElement钩子,但是,模板没有这样的钩子。

在不将现有部件转换为组件的情况下,我可以在哪里放置模板的JavaScript代码?

1 个答案:

答案 0 :(得分:0)

在Ember 2.x中,唯一的解决方法是使用组件

你应该检查语法,因为我之前已经尝试过它并且它可以工作。

据我所知,我不知道路由中有一个等价的钩子,类似于didInsertElement

您还可以在模板中尝试partial帮助,并将您的脚本放在另一个模板中,以使其更清晰。

{{foo}}
{{partial "nav"}}

您可以阅读更多有关partial at的信息,

http://emberjs.com/api/classes/Ember.Templates.helpers.html#method_partial

这里也提出了类似的问题,

https://discuss.emberjs.com/t/ember-2-0-2-10-trigger-script-after-ready/8948/2

,建议改为使用组件。