2016-02-22 23 views
6

Sto cercando di imparare Angular 2, dopo un sacco di messaggi di errore ho finalmente ottenuto il funzionamento delle rotte e posso visualizzare il componente che voglio. Ora voglio mostrare il mio componente homepage e voglio che questo componente abbia un componente navbar.Component not rendering Angular 2 Typescript

Home.ts:

import {Component, View} from 'angular2/core'; 
import {Navbar} from './navbar/navbar' 

@Component({ 
    selector: 'home' 
}) 

@View({ 
    templateUrl: '/app/home/home.html' 
}) 

export class Home { 

    constructor:(public navbar: Navbar) { 
    } 

} 

home.html:

<p>NICE!</p> 
<navbar></navbar> 

navbar.ts:

import {Component, View} from 'angular2/core'; 

@Component({ 
    selector: 'navbar' 
}) 

@View({ 
    template: ` 
    <ul> 
    <li>This is the navbar</li> 
    </ul> 
    ` 
}) 

export class Navbar{ 
} 

La home page è la visualizzazione, ma il tag appena rimane <navbar></navbar> quando ho ispezionarlo Che cosa sto facendo di sbagliato?

risposta

11

Se si desidera che il componente navbar, è necessario aggiungere che l'attributo directives del componente principale, non è nel suo costruttore, in questo modo:

@Component({ 
    selector: 'home', 
    templateUrl: '/app/home/home.html', 
    directives: [ Navbar ] 
}) 
export class Home { 
    constructor() { 

    } 
} 
+0

Grazie! Questa è davvero la risposta a questa domanda, ma temo che questo mi getti nel prossimo errore :(. Ora il mio router sta dando di nuovo problemi –

+0

Prego? Qual è l'errore? –

+1

Sembra la mia barra di navigazione non ha compilato, compilato di nuovo e funziona come un fascino ora! Grazie! –

Problemi correlati