每次都显示一个模板,我想做点什么 - 例如警报。
以下是这些模板的简约示例:
<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>
我尝试了以下内容,但这两个版本都没有。
App.Router.map(function () {
this.resource('other');
});
App.IndexController = Ember.Controller.extend({
actions: {
loading: function(){ alert("index called"); }
}
});
App.OtherRoute = Ember.Route.extend({
actions: {
loading: function(){ alert("Other called") }
}
});
那么,当模板显示时,触发动作的正确方法是什么?将操作放在link-to helper中是没有选择的,因为如果用户打开&#34; / other&#34;也应该触发操作。没有点击链接(打开网址...#/其他)。
答案 0 :(得分:2)
在关于Routing的Ember.js网站上,它声明:
您可以通过创建Ember.Route子类来自定义路径的行为。
在你的情况下:
App.OtherRoute = Ember.Route.extend({
setupController: function(){
alert("foobar");
}
});