2016-01-21 36 views
5

Ho iniziato a migrare una delle mie direttive Angular 1 al componente Angular 2.Qual è l'analogico della proprietà della direttiva 'controllerAs' nel componente Angular 2?

La direttiva attualmente in uso ha la proprietà controllerAs: 'ctrl' e il modello della direttiva utilizza il prefisso 'ctrl.' quando accede alle proprietà.

Guardando allo official ComponentMetadata doc Non vedo alcuna proprietà che può essere utilizzata al posto di questa.

+0

ogni 'Classe' di componenti avrà il loro contesto all'interno di' this', quindi non è necessario creare alias di controller qui in 'Angular2' si otterrà direttamente l'accesso al contesto' this' su HTML .. –

risposta

9

v'è alcun equivalente controllerAs in angolare 2. Ad esempio, in questa classe controller e template:

@Component({ 
    selector: 'component-a', 
    template: `<div class="component-a"> 
       <div class="counter" (click)="increment()">Component A: {{counter}}</div> 
       </div>` 
}) 
export class ComponentA { 

    counter = 0; 

    increment() { 
     this.counter += 1; 
    } 

} 

Nel metodo increment(), this è delimitata a istanza di controllo di quel particolare componente stesso. Nel modello è possibile accedere al contatore tramite {{counter}}.

Come possiamo vedere, non esiste un meccanismo per denominare il controller perché è già possibile accedervi utilizzando la funzionalità predefinita.

Si può pensare che il meccanismo controllerAs sia stato integrato nella funzionalità del componente predefinito di Angular 2, o che la funzionalità sia stata rimossa poiché non è più necessaria, a seconda di come la si guarda.

Problemi correlati