Ho giocato con la demo angolare 2 su angular.io. Ora voglio creare un nuovo componente e usarlo nella mia app.Angolare 2, componente interno al componente principale
Il mio attuale 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);
La mia componente:
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 = "";
}
}
Non sono sicuro se la sintassi della mia componente utente sia corretto a tutti.
Il mio modello di applicazione:
<h1>Hello {{ name }}</h1>
<h2>{{2+2}}</h2>
<hr />
<button (click)="showAlert()">Click to alert</button>
<users></users>
Così Come si collega il componente utente?
L'errore che ottengo nella console:
"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"
Avevi ragione, grazie per l'esempio. La mia app non ha infatti la matrice di direttive. L'URL del mio modello utente non era corretto (dovrebbe essere un percorso assoluto). E non ho aggiunto la mia cartella componente al mio System.paths nel file html. – user1613512
Nit minore: Penso che tu abbia bisogno di un 'const' prima dell'elenco delle direttive. Ecco una micro-scrittura con un tutorial quickstart modificato: http://bq9.blogspot.ch/2015/03/angular2-dart-nested-components.html – buraq
@buraq nope, ovvero per la freccetta. Questa persona sta usando js. –