1

我只想myFunk()在概览路线加载到页面上时运行,当您去其他地方并返回时,myFunk()再次运行,我没有概览视图的模型,我尝试使用didInsertElement但我不知道这是否会使感觉。

应用程序.js:

App.Router.map( function() {
  this.resource('overview');
});

App.overviewView = Ember.View.extend({
  didInsertElement: function() {
    myFunk();
  }
});

索引.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>
4

1 回答 1

1

当路由进入或退出时,您可以连接activatedeactivate相应地运行您的函数。

根据您的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);

希望能帮助到你。

于 2013-08-09T22:45:44.317 回答