Ich habe mit der eckigen 2 Demo auf angular.io gespielt. Jetzt möchte ich eine neue Komponente erstellen und sie in meiner App verwenden.Angular 2, Komponente innerhalb der Hauptkomponente
Mein aktueller App:
import {Component, Template, bootstrap} from 'angular2/angular2';
import {UsersComponent} from './components/users/component.js';
// Annotation section
@Component({
selector: 'my-app'
})
@Template({
url:"app.html"
})
// Component controller
class MyAppComponent {
newName:string;
names:Array<string>;
constructor() {
this.name = 'Florian';
}
showAlert(){
alert("It works");
}
addName(){
names.push(newName);
newName = "";
}
}
bootstrap(MyAppComponent);
Meine Komponente:
import {Component, Template, bootstrap} from 'angular2/angular2';
// Annotation section
@Component({
selector: 'users'
})
@Template({
url:"./template.html"
})
// Component controller
class UsersComponent {
newName:string;
names:Array<string>;
constructor() {
}
addName(){
names.push(newName);
newName = "";
}
}
Ich bin mir nicht sicher, ob die Syntax meiner Benutzerkomponente überhaupt richtig ist.
Meine App-Vorlage:
<h1>Hello {{ name }}</h1>
<h2>{{2+2}}</h2>
<hr />
<button (click)="showAlert()">Click to alert</button>
<users></users>
So wie ich die Benutzerkomponente verkabeln tun?
Der Fehler, den ich in der Konsole:
"Error loading "components/users/component.js" at <unknown>↵Error loading "components/users/component.js" from "app" at http://localhost:8080/app.es6↵Cannot read property 'replace' of undefined"
Sie hatten Recht, danke für das Beispiel. Meine App hatte tatsächlich nicht das Direktiven-Array. Meine Vorlagen-URL meiner Benutzer-Komponente war falsch (sollte ein absoluter Pfad sein). Und ich habe meinen Komponentenordner nicht zu meinen Systempfaden in der HTML-Datei hinzugefügt. – user1613512
Minor nit: Ich denke, du brauchst ein 'const' vor der Direktivenliste. Hier ist ein Mikro-Write-up mit einem modifizierten Quickstart-Tutorial: http://bq9.blogspot.ch/2015/03/angular2-dart-nested-components.html – buraq
@buraq nein, das ist für Dart. Diese Person benutzt js. –