将视图操作发送到特定控制器

时间:2013-04-30 23:31:28

标签: javascript ember.js

目前,我的应用程序模板中有一个View,它向ApplicationController发送一个事件。我真的宁愿直接从View发送到另一个控制器PlaylistController,但我无法弄清楚如何。

这是我当前的ApplicationController

App.ApplicationController = Ember.ArrayController.extend({
  needs:['playlist'],
  changeSong: function(delta) {
    this.get('controllers.playlist').send('changeSong', delta);
  }
});

这是视图,它位于应用程序模板中:

App.NextSong = Ember.View.extend({
  classNames: ['entypo', 'to-end'],
  tagName: 'a',
  click: function() {
    this.get('controller').send('changeSong', 1);
  }
});

1 个答案:

答案 0 :(得分:1)

只是从上面的评论中复制我的答案。

在这种特定情况下,您可以使用:

<a {{action changeSong target="controllers.otherController"}}>click</a>

您必须在任何控制器负责模板的needs属性下定义您的其他控制器。