我现在使用Angular一段时间但不是专家。我正在尝试创建一个简单的用户登录名和密码页,暂时没有后端服务。
输入密码后,我想将页面路由到仪表板。我正在使用核心UI框架和Angular 4.现在我有一个未被捕获的错误。如何解决以下错误?
login.component.ts
import { Component } from '@angular/core';
import { Router } from '@angular/router';
import { DashboardComponent } from '../dashboard/dashboard.component';
declare var Dashboard:any;
@Component({
templateUrl: 'login.component.html',
})
export class LoginComponent {
data: any = {};
constructor(private router: Router){}
formSubmit(){
if(this.data.username == "admin" && this.data.password == "admin"){
this.router.navigate([Dashboard]);
}
}
}
login.component.html
<div class="app flex-row align-items-center" (ngSubmit)="formSubmit()">
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card-group mb-0">
<div class="card p-2">
<div class="card-block">
<h1>Login</h1>
<p class="text-muted">Sign In to your account</p>
<div class="input-group mb-1">
<span class="input-group-addon"><i class="icon-user"></i></span>
<input type="text" class="form-control" placeholder="Username" [(ngModel)="data.username"]>
</div>
<div class="input-group mb-2">
<span class="input-group-addon"><i class="icon-lock"></i></span>
<input type="password" class="form-control" placeholder="Password" [(ngModel)="data.password" >
</div>
<div class="row">
<div class="col-6">
<button type="button" class="btn btn-primary px-2">Login</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
答案 0 :(得分:2)
您需要定义属性的类型。 Newline: -1
Cr: -1
Lf: 6
不包含您的属性:
Object
或者,如果您不想定义类型,可以通过将类型指定为interface YourDataType {
username?: string;
password?: string;
}
export class LoginComponent {
data: YourDataType = {};
// ....
formSubmit() {
if (this.data.username == "admin" && this.data.password == "admin") { // No error
}
}
}
来选择退出:
any
答案 1 :(得分:1)
在您的情况下,我在您的模板中发现了这样的错字:<input type="password" class="form-control" placeholder="Password" [(ngModel)="data.password" >
和] 在行的末尾在> >
我遇到了类似的问题,并且一切都编译良好,但是在运行时失败了。