我只想在将概述路由加载到页面上时运行myFunk()
,当您转到其他地方并返回时,再次运行myFunk()
,我没有概述模型看来,我试图使用didInsertElement
,但我不知道这是否有意义。
App.js:
App.Router.map( function() {
this.resource('overview');
});
App.overviewView = Ember.View.extend({
didInsertElement: function() {
myFunk();
}
});
的index.html:
<script type="text/x-handlebars" data-template-name="application">
<div id="wrapper" class="clearfix">
<div id="content" class="clearfix">
{{outlet}}
</div>
</div>
</script>
我的路线模板:
<script type="text/x-handlebars" data-template-name="overview">
<div class="leftBox">
<img id="kpibox" src="../img/kpis.png" />
</div>
</script>
答案 0 :(得分:1)
您可以相应地挂钩activate
和deactivate
,以便在路线进入或退出时运行您的功能。
根据myFunc()
生活的位置,让我们说App.OverviewController
(但也可以在不同的控制器中),您可以执行以下操作:
App.OverviewController = Ember.ObjectController.extend({
myFunc: function() {
// do stuff
}
});
App.OverviewRoute = Ember.Route.extend({
activate: function() {
this.controllerFor('overview').send('myFunc');
}
});
如果您需要将参数传递给myFunc()
,请将其包含在内:
this.controllerFor('overview').send('myFunc', param);
希望它有所帮助。