在不推荐使用Views的情况下,我无法识别模板渲染后运行jQuery的位置。
我有一个简单的食物资源索引模板(templates / foods / index.hbs),并希望在index.hbs渲染后运行以下jQuery:
this.$('[data-toggle="tooltip"]').tooltip();
我知道可以创建一个具有didInsertElement
钩子的组件,但是如果我这样做的话,我还不清楚我如何路由到组件。然后我会" dip dip"通过让我的apps/templates/foods/index.hbs
模板简单地调用新的Component,它将拥有自己的模板,该模板将是原始的index.hbs
模板?
我确定我在这里遗漏了一些简单的东西。有人想指出我正确的方向吗?
答案 0 :(得分:4)
您可以在路线中调用jQuery:
export default Ember.Route.extend({
actions: {
didTransition() {
Ember.run.next(this, 'initTooltip');
}
},
initTooltip() {
Ember.$('[data-toggle="tooltip"]').tooltip();
}
});
您还可以创建组件并在模板中使用它,如下所示:
{{tooltip-wrapper}}
<!-- HTML here -->
{{/tooltip-wrapper}}
并在didInsertElement
组件的tooltip-wrapper
中调用jQuery代码。