gpt4 book ai didi

javascript - 加载路由时如何运行函数?

转载 作者:行者123 更新时间:2023-11-28 02:03:10 25 4
gpt4 key购买 nike

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

应用程序.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>

最佳答案

您可以相应地 Hook activatedeactivate,以便在路线进入或退出时运行您的函数。

根据您的 myFunc() 所在位置,假设在 App.OverviewController 中(但也可能位于不同的 Controller 中)您执行以下操作:

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);

希望有帮助。

关于javascript - 加载路由时如何运行函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18156607/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com