angular - 没有找到与 exportAs 'ngForm' 相关的指令。已尝试所有建议
问题描述
我知道这个问题已经被问过很多次了,但我找到的所有解决方案都没有解决我的问题。这是我在登录组件 html 文件中的表单:
<form #loginForm="ngForm" (ngSubmit)="login()">
<p *ngIf="errorMessage" class="error">{{ errorMessage }}</p>
<p class="username">User Name</p>
<input type="text" placeholder="Enter user name" name="username" [(ngModel)]="model.username">
<p class="password">Password</p>
<input type="password" class="centered-items" placeholder="Enter password" name="password" [(ngModel)]="model.password">
<hr>
<button class="login-btn" type="submit">Login</button>
<button [routerLink]="['../']">Cancel</button>
<p>Not registered? <a [routerLink]="['../register']">Register now</a></p>
</form>
这是我在登录组件 .ts 文件中的登录方法:
login() {
this.databaseService.login(this.model).subscribe(() => {
}, error => {
this.errorMessage = error.error;
}, () => {
this.route.navigate(['../']);
});
}
这是控制台中收到的错误:
src/app/login/login.component.ts:8:16
8 templateUrl: './login.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component LoginComponent.
src/app/register/register.component.html:6:27 - error NG8003: No directive found with exportAs 'ngForm'.
我已将 FormsModule 和 ReactiveFormsModule 添加到我的 app.module 和 login.module 文件中。我重新启动了 VS 代码,并尝试运行 npm update。我还尝试按照一篇帖子的建议从#loginForm 中删除#。
解决方案
将 LoginComponent 添加到 app.module 文件的声明中为我解决了这个问题
推荐阅读
- matlab - 如何在 MatLab/Octave 中模拟贷款组合?
- php - 用于拆分服装尺寸的正则表达式
- javascript - 更正错误后无法提交表单
- swift - Swift 将 GestureRecognizer 添加到 UIStackView 之上的 View
- c++ - 如何使用 MSVC 创建静态链接的可执行文件?
- css - 如何让浏览器选择合适的 DPR
- javascript - SigmaJS dragNodes:“instanceof 的右侧不是对象”?
- java - 如何删除Java中字符串中单词之间的空格?
- c# - 从另一个表格填写一个表格不会从第二个表格中获得所有值
- sql - 没有聚合的数据透视/转置 MS SQL 2014