我正在AngularJS 1.6.3中创建一个ModalService,我希望传递一个组件的名称,然后以模态显示。
注意:我正在使用ES2015。
这是我的组件(其中template
是一个简单的html文件,而controller
是一个空类):
export default angular.module('editEntryModal', [])
.component('editEntryModal', {
restrict: 'E',
bindings: {},
template,
controller
})
.name;
然后我有一个ModalService
,它有一个show
方法。这是我试图获得对上述组件的引用的地方:
class ModalService {
constructor($injector) {
this.$injector = $injector;
}
show(options) {
// this.$injector.get(options.component)
}
}
我尝试过使用this.$injector.get(options.component)
,但它不起作用。它会抛出错误Unknown provider: editEntryModalProvider <- editEntryModal
这是我的ModalService
被调用的地方:
this.ModalService.show({
component: 'editEntryModal'
})
有没有办法使用其名称访问组件?