Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在ember中加载模板时,如何触发操作?_Javascript_Ember.js - Fatal编程技术网

Javascript 在ember中加载模板时,如何触发操作?

Javascript 在ember中加载模板时,如何触发操作?,javascript,ember.js,Javascript,Ember.js,每次显示一个模板时,我都想做一些事情——例如发出警报 以下是这些模板的一个简单示例: <script type="text/x-handlebars"> {{outlet}} </script> <script type="text/x-handlebars" id="index"> index template. {{#link-to "other"}} go to other Template {{/link-to}} </scri

每次显示一个模板时,我都想做一些事情——例如发出警报

以下是这些模板的一个简单示例:

<script type="text/x-handlebars">
    {{outlet}}
</script>

<script type="text/x-handlebars" id="index">
    index template. {{#link-to "other"}} go to other Template {{/link-to}}
</script>

<script type="text/x-handlebars" id="other">
    other template {{#link-to "index"}} go to index {{/link-to}}
</script>

那么,当显示模板时,触发操作的正确方式是什么?将操作放在指向帮助者的链接中是不可选项的,因为如果用户未单击链接(打开url…#/other)而打开“/other”,也应触发该操作。

在Ember.js网站上关于它的说明:

您可以通过创建Ember.route子类自定义路由的行为

就你而言:

App.OtherRoute = Ember.Route.extend({
   setupController: function(){
       alert("foobar");
   }
});

检查路线中的装载事件。《灰烬指南》解释了一个类似的情况。您希望在呈现模板时触发该操作,还是在路由发生更改时触发该操作?是否可以直接覆盖
Em.Route#setupController
?还可以在视图中查找
didinrelation
!当路线改变时。setupController似乎是正确的方法。谢谢,也许这个答案很有帮助。()
App.OtherRoute = Ember.Route.extend({
   setupController: function(){
       alert("foobar");
   }
});