Ich frage mich, was der Unterschied zwischen der Verwendung der Abhängigkeit Injektion Komponente und @ViewChild. Die beiden Möglichkeiten, die ich verwenden kann, die Methoden der Elternattribute. Also, wann sollte ich eins und anderes?Angular2 Abhängigkeitsinjektion vs @ViewChild
Dependency Injection
import { Component, OnInit } from '@angular/core';
import { CompB } from './compb/compb.component';
@Component({
moduleId: module.id,
selector: 'app-test',
templateUrl: 'compA.html'
})
export class CompAComponent implements OnInit {
constructor(private _compB: CompB) {
}
ngOnInit() {
this._compB.getName();
}
}
@Component({
moduleId: module.id,
selector: 'app-test',
templateUrl: 'compB.html'
})
export class CompBComponent {
getName() {
return 'Hello World';
}
}
@ViewChild
import { Component, OnInit } from '@angular/core';
import { CompB } from './compb/compb.component';
@Component({
moduleId: module.id,
selector: 'app-test',
templateUrl: 'compA.html'
})
export class CompAComponent implements OnInit {
@ViewChild(CompB) compB: CompB
ngOnInit() {
this._compB.getName();
}
}
@Component({
moduleId: module.id,
selector: 'app-test',
templateUrl: 'compB.html'
})
export class CompBComponent {
getName() {
return 'Hello World';
}
}
Wie Sie sehen können, die beide Methoden Ich habe Zugriff auf die getName() in compBComponent.
Sie für Ihre Klarstellung danken! Es ist jetzt klar, wie und wann es benutzt werden sollte! Prost. –
Der Plünderer muss aktualisiert werden. – Shivam
Habe gerade getan. Genießen :) –