2016-06-15 7 views
0

Ich verstehe und verwende oft das @ViewChild, aber wofür wird die {read} prop verwendet?angular2, was wird gelesen: Eigenschaft in ViewChild verwendet?

wie in: @ViewChild ('putStuffHere', {lesen: ViewContainerRef}) putStuffHere;

siehe Code unten:

import {Component, ViewChild, ViewContainerRef, ComponentResolver} from '@angular/core'; 

@Component({ 
    selector: 'my-component', 
    template `<h1>my-component</h1>` 
}) 
class MyComponent{} 

@Component({ 
    selector: 'my-app', 
    template: ` 
    <h2>Above</h2> 
    <div #putStuffHere></div> 
    <h2>Below</h2> 
    ` 
}) 
export class AppComponent { 
    @ViewChild('putStuffHere', {read: ViewContainerRef}) putStuffHere; 

    constructor(
     public view:ViewContainerRef, 
     public compResolver:ComponentResolver 
){} 

    ngAfterViewInit(){ 
    this.compResolver.resolveComponent(MyComponent) 
     .then(factory => { 
     this.putStuffHere.createComponent(factory);  
     }) 

    } 
} 

Grüße

Sean

Antwort

1

Es ermöglicht anstelle eines ElementRef ein Zugriff auf eine ViewContainerRef Instanz haben. Hier

ist ein Beispiel:

@ViewChild('putStuffHere') putStuffHere1:ElementRef; 
@ViewChild('putStuffHere', {read: ViewContainerRef}) putStuffHere2:ElementRef; 
Verwandte Themen