国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

利用angular4和nodejs-express構建一個簡單的網站(九)—用戶登錄

Snailclimb / 1760人閱讀

摘要:好了,廢話少說,繼續吧這一章主要講利用控制用戶登錄。在前面的用戶注冊表單中使用了的響應式表單。在構造函數中聲明了一個對象一個對象和對象對象。并在構造函數中用的方法更新了網頁的標題。接下來導航到下一個頁面,并提示用戶登錄成功。

最近工作比較忙,一直沒有更新文章。原來看別人的文章感覺很過癮,現在自己寫才發現,要堅持下去真的很難。好了,廢話少說,繼續吧!
這一章主要講利用angularJs控制用戶登錄。在前面的用戶注冊表單中使用了angular的響應式表單。為了對angular的知識學習的全面一點,在用戶登錄的表單中,使用了模板驅動型表單。

先從html代碼開始

在這個html文件的

標簽中,(ngSubmit)="onSubmit()"和用戶注冊表單一樣,用于處理表單的提交操作,為了實現在表單不合法時提交按鈕的disabled為false,需要讓按鈕能夠訪問到表單,從而獲取到表單的狀態,所以,需要在標簽中定義了一個模板引用變量 #loginForm,并且把賦值為“ngForm”,同時在submit按鈕標簽中加入:[disabled]="!loginForm.form.valid"
兩個標簽分別輸入用戶名和密碼,通過ngModel創建雙向綁定到組件類的User對象的name和password屬性,用于讀取和寫入輸入控件的值。這里需要注意一點:當在表單中使用 [(ngModel)] 時,必須要定義 name 屬性。
模板驅動表單的驗證都在html代碼中實現,需要完成以下幾項任務:

首先要定義模板引用變量,并賦值為"ngModel",注意觀察標簽中的 #name="ngModel"和#password="ngModel"。

兩個用戶名和密碼的驗證規則比較簡單,只需required,在兩個標簽中加入此屬性。

顯示驗證錯誤信息和注冊表單差不多,當模板引用變量即兩個輸入框變為dirty(控件值變化了)和touched(控件值被訪問過)狀態時,如果控件值無效(invalid),就顯示

標簽包裹的內容。

html部分的內容就這些了,下面我們看一下控件類的內容。

控件類

先把代碼放出來,后面慢慢分析。

@Component({
  selector: "app-login",
  templateUrl: "./login.component.html",
  styleUrls: ["./login.component.css"]
})
export class LoginComponent {
  user: User = new User(0, "", "", "");
  constructor(
    private route: Router,
    private jumService: JumbotronServive,
    private userServ: UserService,
  private tokenServ: AuthTokenService) {
    jumService.setJumbotron(new Jumbotron("Login",
      `Please login with your user name and password first`,
      ``));
  }
  onSubmit() {
    this.userServ.getUser(this.user).subscribe(
      (resp) => {
        this.tokenServ.setToken(resp.body["token"]);
        this.route.navigate(["/birthday"]);
        alert("登錄成功!");
      },
      (err)=>
      alert(this.userServ.handleError(err)),
      () => console.log("The Post observable is now completed. ")
    )
  }
}

控件類主要完成了如下功能:

首先初始化了一個User類的對象,用于ngModel雙向綁定到控件。保證在html控件值變化時,綁定的User類的屬性同步變化。

在構造函數中聲明了一個Router對象、一個JumbotronServive對象和UserService對象、AuthTokenService對象。并在構造函數中用JumbotronServive的setJumbotron方法更新了網頁的標題。(JumbotronServive的setJumbotron方法具體內容請看前面的文章。)

onSubmit()函數在表單提交時被觸發,在該函數中UserService的getUser()函數,getUser()函數向服務器發送了用戶名和密碼,如果服務器驗證成功,會發送回jwt認證信息的token字符串,其中包括了userid。在onSubmit()函數中調用AuthTokenService的setToken()函數,將這個字符串存儲到本地存儲,用于導航到下一個頁面(生日頁面)時驗證用戶信息。接下來導航到下一個頁面,并提示用戶登錄成功。如果發生錯誤,提示錯誤原因。

用戶登錄主要的內容就這些了。其中還有一個小技巧性的東西就是在輸入密碼的時候,因為標簽的type=password,顯示的輸入內容為“.”,很容易輸錯。我在這個控件上放了一個可以切換的圖片,用于讓用戶選擇是否查看明文。實現的方法主要是改變控件的attr屬性。如果需要具體實現方法的朋友,可以給我留言,我會在回復中告訴大家。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/115961.html

相關文章

  • 利用angular4nodejs-express構建一個簡單網站)—用戶登錄

    摘要:好了,廢話少說,繼續吧這一章主要講利用控制用戶登錄。在前面的用戶注冊表單中使用了的響應式表單。在構造函數中聲明了一個對象一個對象和對象對象。并在構造函數中用的方法更新了網頁的標題。接下來導航到下一個頁面,并提示用戶登錄成功。 最近工作比較忙,一直沒有更新文章。原來看別人的文章感覺很過癮,現在自己寫才發現,要堅持下去真的很難。好了,廢話少說,繼續吧!這一章主要講利用angularJs控制...

    opengps 評論0 收藏0
  • 利用angular4nodejs-express構建一個簡單網站(五)—用戶注冊登錄-Htt

    摘要:后臺注冊成功后,會返回狀態的認證信息。后臺數據的處理,詳見利用和構建一個簡單的網站三訪問。在這個方法中分別針對這兩種錯誤進行處理。 上一節簡單介紹了一下利用angular構建的主路由模塊,根據上一節的介紹,主頁面加載時直接跳轉到用戶管理界面,下面就來介紹一下用戶管理模塊。啟動應用后,初始界面應該是這樣的: showImg(https://segmentfault.com/img/bV3...

    Lin_R 評論0 收藏0
  • 利用angular4nodejs-express構建一個簡單網站(五)—用戶注冊登錄-Htt

    摘要:后臺注冊成功后,會返回狀態的認證信息。后臺數據的處理,詳見利用和構建一個簡單的網站三訪問。在這個方法中分別針對這兩種錯誤進行處理。 上一節簡單介紹了一下利用angular構建的主路由模塊,根據上一節的介紹,主頁面加載時直接跳轉到用戶管理界面,下面就來介紹一下用戶管理模塊。啟動應用后,初始界面應該是這樣的: showImg(https://segmentfault.com/img/bV3...

    feng409 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<