2016-01-18 3 views
-1

Я попытался обновить angular2.0.0-beta0 до углового 2.0.0-beta 1, и у меня возникла проблема, когда use elementRef , В Beta0 все идеально!ElementRef in [email protected] и Angular @ ElementRef 2.0.0-beta.1

constructor(dcl: DynamicComponentLoader, private elementRef: ElementRef, 
    private renderer: Renderer, ds: SaleDataService, 
    private ticketDataSelection: TicketDataSelection, private z: NgZone) {} 
load() { 
    if (this.selectedTicketTab == 0) { 
    this.dynamicComponentLoader.loadIntoLocation(childComponet, 
       this.elementRef, "childComponents") 
     .then((r) => { 
     this.instances.push(r); 
     this.isPayment = r.instance.payment; 
     }); 

но при обновлении beta1. Отладить внутри, слишком много, что изменилось :(И я получил эту ошибку:.

ORIGINAL EXCEPTION: There is no component directive at element [object Object]

+0

Репродукция была бы замечательной;) –

+0

См. Также https://github.com/angular/angular/issues/6543 –

ответ

0

из https://github.com/angular/angular/issues/6543

Отображатель теперь принимает собственные элементы вместо ElementsRefs

Т.е. использовать renderer.setElementStyle(el.nativeElement...) ...

.
+0

Почему 'private' в' private elementRef: ElementRef' является обязательным ? –

+0

Он неявно создает частное поле и присваивает ему значение pass («public» и «protected»). Таким образом, у вас есть ro писать меньше кода. –

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