Grałem w 2-kątowe demo na angular.io. Teraz chcę utworzyć nowy komponent i użyć go wewnątrz mojej aplikacji.Angular 2, komponent wewnątrz głównego komponentu
Mój obecny aplikacja:
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);
Moja komponent:
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 = "";
}
}
Nie jestem pewien, czy składnia moim komponentu użytkownika jest poprawna w ogóle.
Moja aplikacja szablon:
<h1>Hello {{ name }}</h1>
<h2>{{2+2}}</h2>
<hr />
<button (click)="showAlert()">Click to alert</button>
<users></users>
Więc jak mam drut komponentu użytkownik?
Błąd pojawia się w konsoli:
"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"
Miałeś rację, dzięki za przykład. Moja aplikacja rzeczywiście nie miała tablicy dyrektyw. Mój URL szablonu mojego składnika Users był błędny (powinien być ścieżką absolutną). I nie dodałem mojego folderu komponentu do moich plików System.path w pliku html. – user1613512
Drobny nit: Myślę, że potrzebujesz "const" przed listą dyrektyw. Oto mikro zapis z modyfikowanym samouczkiem szybkiego uruchamiania: http://bq9.blogspot.ch/2015/03/angular2-dart-nested-components.html – buraq
@buraq nope, czyli na dart. Ta osoba używa js. –