Ich versuche, eine untergeordnete Komponente basierend auf einem Ereignis dynamisch aus der übergeordneten Komponente zu laden. Ich erhalte einige Kompilierungsfehler in der Import-Anweisung und in den ViewChild-Anweisungen. Im Folgenden sind die Nicht in der Lage, ComponentResolver und ViewContainerRef zu importieren
Fehler # 1
import { Component, ComponentResolver, ViewContainerRef, ViewChild, } from 'angular2/core';
Error: Module "...node_modules/angular2/core" has no exported member ComponentResolver
Fehler # 2
@ViewChild("childContainer", { read: ViewContainerRef }) childContainer: ViewContainerRef;
Error: Supplied parameters do not match any signature of call target
Fehler # 3
this._cr.resolveComponent(ExtractorDetails).then(cmpFactory => {
let cmpRef = this.childContainer.createComponent(cmpFactory);
cmpRef.instance.QueueID = this.queueID;
});
Error: Property createComponent does not exist on type 'ViewContainerRef'
Meine package.json Datei ist wie folgt:
{
"name": "ASP.NET",
"version": "0.0.0",
"dependencies": {
"angular/http": "2.0.0-rc.1",
"angular2": "2.0.0-beta.17",
"bootstrap": "^3.3.5",
"es6-promise": "^3.0.2",
"es6-shim": "^0.33.3",
"jquery": "^2.2.4",
"reflect-metadata": "0.1.2",
"rxjs": "5.0.0-beta.2",
"systemjs": "0.19.22",
"zone.js": "0.5.15"
},
"devDependencies": {
"gulp": "3.8.11",
"gulp-concat": "2.5.2",
"gulp-cssmin": "0.1.7",
"gulp-uglify": "1.2.0",
"rimraf": "2.2.8"
}
}
Meine übergeordnete Komponente sieht wie folgt aus import {Komponente, ComponentResolver, ViewContainerRef, ViewChild,} aus 'angular2/core'; Importieren Sie {ExtractorDetails} von './ExtractorDetails'; ..
@Component({
selector: 'kendo-grid',
templateUrl: './HTML/Admin/KendoGrid.html',
providers: [Configuration, Constants],
directives: [Grid]
})
export class ExtractorGrid {
options: any;
rowObject: any;
extractorDetails: any;
public component: any;
queueID: number;
@ViewChild("childContainer", { read: ViewContainerRef }) childContainer: ViewContainerRef;
constructor(private configSetttings: Configuration, private constants: Constants, private viewContainer: ViewContainerRef, private _cr: ComponentResolver) {
this.setUpGridOptions();
}
onChange(event) {
this.rowObject = event.target;
this._cr.resolveComponent(ExtractorDetails).then(cmpFactory => {
let cmpRef = this.childContainer.createComponent(cmpFactory);
cmpRef.instance.QueueID = this.queueID;
});
}
....
}
Kann mir jemand zeigen, welche Version angular2 Ich brauche zu verweisen, wenn ich ComponentResolver und ViewContainerRef verwenden müssen?
Ich werde vorschlagen, dass Sie die neuen angular2-Versionen verwenden, basierend auf Release-Kandidat 3 oder sogar 4. rc4 wurde gerade veröffentlicht https://github.com/angular/angular/blob/master/CHANGELOG.md (Viele Dinge sind ganz anders als im Beta-Stadium) – Gabi
Mit RC3 aktualisiert, "Abhängigkeiten": {"angular/http": "2.0.0-rc.1", "angular2": "2.0.0-rc.3" , ...} immer noch den gleichen Fehler. irgendwelche Ideen ? – Krishnan
Haben Sie die Importe von 'angular2/xxx' in' @ angular/xxx' geändert? –