Ember.js Ember 1.12将路线注入服务
我正在尝试使用Ember cli创建一个服务来处理Ember 1.12中的模式对话框。也许服务不是实现这一点的最佳方式,但我想从应用程序中的任何地方访问它,并能够动态地将内容插入弹出窗口,因此这似乎是正确的方式 这是我的服务:Ember.js Ember 1.12将路线注入服务,ember.js,modal-dialog,ember-cli,Ember.js,Modal Dialog,Ember Cli,我正在尝试使用Ember cli创建一个服务来处理Ember 1.12中的模式对话框。也许服务不是实现这一点的最佳方式,但我想从应用程序中的任何地方访问它,并能够动态地将内容插入弹出窗口,因此这似乎是正确的方式 这是我的服务: import Ember from 'ember'; export default Ember.Service.extend({ route: Ember.inject.service('route'), open: function(content){
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
}
});
调用open方法时,出现以下错误:
未捕获错误:尝试注入未知注入:
服务:路线
我不确定我错过了什么。建议?你应该看看余烬虫洞。它将允许您将模板的一部分定位到dom中其他地方的锚点。非常适合情态动词 其他信息: 正如@runspired指出的,你不能像现在这样注入路由器 如果您确实想注入路由器,可以使用Ember.inject.service'-routing'或通过application.inject'router'、'router:main'注入路由器;来自初始值设定项
但是,您无法访问渲染方法,这可能会被视为一种气味。ember JS指南中的一本食谱是关于模态的。我记得使用这种技术实现modals,效果很好。我不确定你的例子。你的问题是路线不是服务。