我正在学习Angular 2.我有一个问题。 我需要app.component.ts吗?我有很多组件在文件夹中。每个文件夹都包含组件和模板,但我想知道我真的需要主要组件或我可以删除它吗?
最好的问候。
答案 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]