我在Angular 2中需要app.component.ts吗?

时间:2016-09-24 16:34:30

标签: angular typescript

我正在学习Angular 2.我有一个问题。  我需要app.component.ts吗?我有很多组件在文件夹中。每个文件夹都包含组件和模板,但我想知道我真的需要主要组件或我可以删除它吗?

最好的问候。

2 个答案:

答案 0 :(得分:10)

请注意:启动Angular2 App至少需要一个模块和组件。

  

我需要app.component.ts吗?

没必要。 这只是 .ts 文件的名称。它可以是任何其他组件。但至少需要一个模块和组件才能启动Angular2 App。

了解下面的事情,

<强> main.ts

import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app.module';   //<<<==== it imports AppModule class from app.module.ts file
const platform = platformBrowserDynamic();
platform.bootstrapModule(AppModule);        //<<<===we bootstarp our AppModule here

app.module.ts // .ts文件的名称

//contents are important as it contains @NgModule({}) decorator.

import { NgModule }      from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { SomeComponent }   from './some.component';  
                                           //<<<===we import SomeComponent class from some.component.ts file to bootstrap it.


@NgModule({
  imports:      [ BrowserModule],
  declarations: [ SomeComponent ],         
  bootstrap:    [ SomeComponent ]          //<<<===we are going to bootstrap/initialize SomeComponent as our first component.
})
export class AppModule { }                 //<<<====we imported AppModule (contains @NgModule decorator) in main.ts as we are going to bootstrap this class which has @NgModule() decorator.

some.component.ts // .ts文件的名称

import { Component } from '@angular/core';
import {UserService} from '../shared/shared.service';
@Component({
  selector: 'my-app',                       //<<<===make sure this matches with custom HTML tag used in index.html
  template: `<h1>Anglar2</h1>  
  `
})
export class SomeComponent {}

答案 1 :(得分:1)

你应该有一个根组件来引导你的应用程序。

@ NgModule.bootstrap属性将此AppComponent标识为引导程序组件。当Angular启动应用程序时,它会将AppComponent的HTML呈现放在DOM中 [https://angular.io/docs/ts/latest/guide/ngmodule.html#!#bootstrap]