2017-04-26 29 views
1

Im對Angular 2來說很新,所以對我很感興趣。 我試圖讓一個新的組件出現在index.html頁面。 該文件集來自GitHub的基本快速入門文件。 我創建了一個新的組件這樣:Angular 2組件不能顯示在index.html中

import { Component } from '@angular/core'; 

@Component({ 
    selector: 'app-user-item', 
    template: `<h1>It works!</h1>`, 
}) 
export class UserItemComponent { 

} 

我已經宣佈在HTML選擇標記爲這樣:

<!DOCTYPE html> 
<html> 
    <head> 
    <title>Angular QuickStart</title> 
    <base href="/"> 
    <meta charset="UTF-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link rel="stylesheet" href="styles.css"> 

    <!-- Polyfill(s) for older browsers --> 
    <script src="node_modules/core-js/client/shim.min.js"></script> 

    <script src="node_modules/zone.js/dist/zone.js"></script> 
    <script src="node_modules/systemjs/dist/system.src.js"></script> 

    <script src="systemjs.config.js"></script> 
    <script> 
     System.import('main.js').catch(function(err){ console.error(err); }); 
    </script> 
    </head> 

    <body> 

    <my-app>Loading AppComponent content here ...</my-app> 
    <app-user-item>loading another component</app-user-item> 
    </body> 
</html> 

我甚至嘗試添加進口app.module.ts的頂部和組件名稱添加到app.module.ts中的聲明數組中。但仍然沒有。 我檢查了我的文件結構,並且有一個js版本的user-item.component.ts。但我看不到變化。

任何幫助,將不勝感激。

乾杯

回答

0

用戶item.component.ts:

import { Component } from '@angular/core'; 

@Component ({ 
    selector: 'app-user-item', 
    template: `<p>child item</p>` 
)} 

export class UserItemComponent { 
    constructor(){ } 
} 

user.component.ts:

import { Component } from '@angular/core'; 

@Component({ 
    selector: 'app-user', 
    template: ` <h2> My User Item </h2> 
    <app-user-item></app-user-item>` 
}) 

export class UserComponent { 
    constructor() {} 
} 

user.module.ts:

import { NgModule } from '@angular/core'; 
import { UserComponent } from './user-component'; 
import { UserItemComponent } from './user-item-component'; 

@NgModule({ 
    declarations: [ 
    UserComponent, 
    UserItemComponent 
    ] 
}) 

export class UserModule {} 

我真的鼓勵你使用angular-cli(https://github.com/angular/angular-cli)。並在角頁面上完成教程。 但是,對於您的用例,上面的代碼應該足夠並且可以工作。 通常您將您的子組件聲明爲與父組件相同的模塊。 該模塊由app.module(根模塊)

看那主詳細元器件教程角 https://angular.io/docs/ts/latest/tutorial/toh-pt2.html

+0

乾杯的進口。我實際上創建了一種父模板,所有html文件都呈現在其中。但是,感謝您的答案。 – user3355961