如何更改角度的默认模块

问题描述 投票:0回答:1

在学习角度模块时,我开始怀疑我们是否可以更改角度的默认模块。我尝试过但是失败了。我对文件所做的更改:

我在名为:core的src目录下创建了一个新目录,其中包含以下类:core.module.ts

import { NgModule }      from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { CoreComponent }  from './core.component';

@NgModule({
  imports:      [ BrowserModule ],
  declarations: [ CoreComponent ],
  bootstrap:    [ CoreComponent ]
})
export class CoreModule { }

核心目录也包含core.component.ts

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

@Component({
    selector: 'core',
    template: `<h2> Core Component Welcome you</h2>`
})
export class CoreComponent { }

对main.ts进行了以下更改

import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';

import { environment } from './environments/environment';
import { CoreModule } from './core/core.module';

if (environment.production) {
  enableProdMode();
}

platformBrowserDynamic().bootstrapModule(CoreModule)
  .catch(err => console.error(err));

和index.html

<core>loading core component</core>

我知道在现实世界中没有人会费心更改应用程序模块,但是我只是想了解事情的运作方式,因此,如果您能帮助我了解事情的运作方式,我丢失了什么,或者什至没有解决,可以更改默认模块。

更新:控制台不会报告任何错误,但是不会加载内容。而不是显示(来自core.component.ts模板部分):

核心组件,欢迎您。

仅显示(来自index.html部分):

加载核心组件

angular module components default
1个回答
0
投票

app.module被认为是根模块,并且根模块与其他角度模块只有很少的区别

1️⃣导入BrowserModule

2️⃣最近声明的组件之一必须添加到引导程序数组中

3️⃣在index.html中添加一个元素,与引导程序组件选择器匹配

4️⃣通过将模块引用传递给main.ts上bootstrapModule对象的platformBrowserDynamic方法,将新模块设置为根模块。

core.module.ts

@NgModule({
  imports: [BrowserModule], // 👉 1️⃣
  declarations: [CoreComponent],
  bootstrap: [CoreComponent] // 👉 2️⃣
})
export class CoreModule {}

index.html

<core>loading</core> <!-- // 👉 3️⃣-->

main.ts

platformBrowserDynamic().bootstrapModule(CoreModule) // 👉 4️⃣
 .then(ref => {

 })
 .catch(err => console.error(err));

demo 🚀

检查此bootstrapping 📚了解更多详细信息。

© www.soinside.com 2019 - 2024. All rights reserved.