2017-02-21 6 views
1

См, например, эту линию (?):угловой компонент 2 Понижение рейтинга: Почему конструктор PARAMS довести эту ошибку: (SystemJS) не удается разрешить все параметры

constructor(private elementRef: ElementRef, private zone: NgZone) {} 

Мне нужно удалить Пармас из конструктор для перехода для работы без ошибок. Иначе я

(SystemJS) Can't resolve all parameters for (?)

Так что я нашел способ, чтобы удалить элемент реф с:

@ViewChild('myname') divElementRef:ElementRef; 

Но я не нахожу никакого решения, как объявить NgZone, я всегда получаю это не определено, и я может «запустить» с ним. Если кто-то знает, как я могу создать экземпляр ngZone вне конструктора, это поможет или может объяснить ошибку, которую я получаю при переходе на компонентный компонент.

Являются ли параметры конструктора частью ввода, которую я объявляю при понижении уровня компонента?

angular.module('myModule').directive('myLabel', downgradeComponent({component: MyLabelComponent, inputs: ['text'] }) as angular.IDirectiveFactory) 

если конструктор MyLableComponent выглядеть следующим образом:

constructor(private elementRef: ElementRef) {} 

Я получаю сообщение об ошибке. Надеюсь, кто-то может объяснить, почему. При удалении конструктора parmas все будет работать нормально.

+1

Вы пробовали с '@Inject (NgZone) частной зоной: NgZone' и то же самое для' ElementRef'? –

+0

OMG! вы просто спасли меня около полудня, задаваясь вопросом, почему это не работает. Спасибо большое!!!!! – AngularOne

+0

Я буду рад понять, почему здесь нужен объект @inject, так как если я не буду понижать его, это будет нормально работать – AngularOne

ответ

2

DI должен быть предоставлен модулем, он будет унаследован нижними модулями.

Я никогда не пытался использовать понижающий рейтинг, подобный этому, но, похоже, проблема в том, как обеспечить ввод классов, возможно, механизм для этого не существует, когда вы запускаете компонент таким образом ,

Попробуйте с @Inject(NgZone) private zone: NgZone и @Inject(ElementRef) elementRef: ElementRef

Счастливый кодирования!

Смежные вопросы