Angular 角度2动态

Angular 角度2动态,angular,Angular,我对Angular 2很陌生。我只是被扔到火里去修复一个有棱角的2应用程序 我试图弄清楚如何动态加载组件,下面是一个示例。在此应用程序模块中,“AppComponent”是第一个加载的。我希望每个HTML页面都有一个AppComponent,这是正确的方法吗 1) 。为每个页面创建根应用程序组件,例如:HomepageAppComponent、SitesAppComponent(用于sites.html)等 2) 。使用一个AppComponent并告诉它在sites.html上加载SitesC

我对Angular 2很陌生。我只是被扔到火里去修复一个有棱角的2应用程序

我试图弄清楚如何动态加载组件,下面是一个示例。在此应用程序模块中,“AppComponent”是第一个加载的。我希望每个HTML页面都有一个AppComponent,这是正确的方法吗

1) 。为每个页面创建根应用程序组件,例如:HomepageAppComponent、SitesAppComponent(用于sites.html)等

2) 。使用一个AppComponent并告诉它在sites.html上加载SitesComponent

以下是app.module.ts文件示例:

import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { UniversalModule } from 'angular2-universal';
import { AppComponent } from './components/app/app.component'
import { NavMenuComponent } from './components/navmenu/navmenu.component';
import { HomeComponent } from './components/home/home.component';
import { SitesComponent } from './components/sites/sites.component';
import { CounterComponent } from './components/counter/counter.component';

@NgModule({
    bootstrap: [ AppComponent ],
    declarations: [
        AppComponent,
        NavMenuComponent,
        CounterComponent,
        SitesComponent,
        HomeComponent
    ],
    imports: [
        UniversalModule, // Must be first import. This automatically imports BrowserModule, HttpModule, and JsonpModule too.
    ]
})
export class AppModule {
}

如果每个页面的AppComponent都相同,那么只需将routeroutlet元素放入AppComponent中。然后为HomeComponent、SiteComponent…创建一条路线。

您应该真正遵循angular网站上的教程。我强烈推荐它,它写得非常好,涵盖了所有这些基本概念,比如你要问的这个。谢谢Igor,我计划在这个周末做这件事。你只能有一个AppComponent。它是您的应用程序的入口点。其他组件在此显示。。。组成部分。不要只考虑页面,而要考虑组件。您有一个可以使用组件修改的页面。我同意@Igor的说法,你最好跟着这首芭蕾舞曲走:)