Ember 1.12注入服务路线

时间:2015-07-01 20:03:06

标签: ember.js modal-dialog ember-cli

我试图用Ember-cli创建一个服务来处理Ember 1.12中的模态对话框。也许服务并不是解决这个问题的最好方法,但是我想从应用程序的任何地方访问它,并且能够动态地将内容插入到弹出窗口中,所以它似乎是正确的方法。

这是我的服务:

Bundle extras = getIntent().getExtras();
String s = extras.getString("STRING_I_NEED");

当我调用open方法时,我收到此错误:

  

未捕获错误:尝试注入未知注射:   import Ember from 'ember'; export default Ember.Service.extend({ route: Ember.inject.service('route'), open: function(content){ console.log('open popup', content); this.get('route').render('popup-box', { //popup-box is a component into: 'application', outlet: 'popup' }); }, close: function(){ //TODO } });

我不确定我错过了什么。建议?

1 个答案:

答案 0 :(得分:0)

你应该看看ember-wormhole,https://github.com/yapplabs/ember-wormhole。它会让你将模板的一部分定位到dom中其他位置的锚点。它非常适合模态!

其他信息:

<@> AS @runspired指出,你不能像你拥有它一样注入路由器。

如果您确实要注入路由器,可以使用Ember.inject.service('-routing')或通过application.inject('<myTarget>', 'router', 'router:main');从初始化程序执行此操作。

但是,您无法访问渲染方法,这可能会被视为气味。