问题描述
我是第一次用 Angular 创建一个 web 组件,它是一个登录屏幕,但由于某种我无法理解的原因,我需要使用“app-routing.module.ts”文件,据说我不需要它。
这是文件“app.module.ts”:
import { browserModule } from '@angular/platform-browser';
import { NgModule,dobootstrap,Injector } from '@angular/core';
import { HttpClientModule,HttpClient } from '@angular/common/http';
import { ReactiveFormsModule,FormsModule } from '@angular/forms';
// import { AppRoutingModule } from './app-routing.module';
import { createCustomElement } from '@angular/elements';
//Components
import { LoginComponent } from './components/login/login.component';
@NgModule({
declarations: [
LoginComponent
],imports: [
browserModule,ReactiveFormsModule,FormsModule,HttpClientModule,// AppRoutingModule
],providers: [
],entryComponents: [LoginComponent]
})
export class AppModule implements dobootstrap{
constructor(private injector: Injector) {
const webComponent = createCustomElement(LoginComponent,{injector});
customElements.define('angular-login',webComponent);
}
ngdobootstrap() {}
}
这是文件“app-routing.module.ts”:
import { NgModule } from '@angular/core';
import { Routes,RouterModule } from '@angular/router';
const routes: Routes = [];
@NgModule({
imports: [RouterModule.forRoot(routes)],exports: [RouterModule]
})
export class AppRoutingModule { }
这是文件“index.html”:
<!doctype html>
<html lang="en">
<head>
<title>Angular Login</title>
<base href="/">
<Meta charset="utf-8">
<Meta name="viewport" content="width=device-width,initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
<script async defer src="https://apis.google.com/js/api.js"></script>
</head>
<body>
<angular-login lang="en"></angular-login>
</body>
</html>
文件“login.component.html”包含一个经典的 html 表单。
当我在“app.module.ts”中启用 AppRoutingModule 时,登录组件显示正确,但如果我注释掉文件“app.module.ts”中的 AppRoutingModule 引用,我在控制台我没有收到任何错误。可能是什么问题呢?谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)