2017-06-14 18 views
1

私はしばらくの間、角度を使用していますが、専門家のものは使用していません。バックエンドサービスではなく単純なユーザーログインとパスワードページを作成しようとしています。文字列に無効な文字が含まれていますか?

パスワードを入力すると、ページをダッシュ​​ボードにルーティングします。私はコアのUIフレームワークと角度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> 

答えて

2

あなたはあなたの特性のタイプを定義する必要があります。 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ようなタイプを指定することにより、型を定義しない場合:

export class LoginComponent { 
    data: any = {}; 
    // .... 
    formSubmit() { 
     if (this.data.username == "admin" && this.data.password == "admin") { // No error 
     } 
    } 
} 
+0

はありがとう..コンパイルエラーはありませんが、予期しないエラーがあります。 "文字列に無効な文字が含まれています" –

関連する問題