我试图用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 } });
我不确定我错过了什么。建议?
答案 0 :(得分:0)
你应该看看ember-wormhole,https://github.com/yapplabs/ember-wormhole。它会让你将模板的一部分定位到dom中其他位置的锚点。它非常适合模态!
如果您确实要注入路由器,可以使用Ember.inject.service('-routing')
或通过application.inject('<myTarget>', 'router', 'router:main');
从初始化程序执行此操作。
但是,您无法访问渲染方法,这可能会被视为气味。