成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

利用angular4和nodejs-express構(gòu)建一個(gè)簡(jiǎn)單的網(wǎng)站(十)—好友模塊

BicycleWarrior / 2125人閱讀

摘要:我們從這一章開始分析這個(gè)好友模塊。在中提供了和一個(gè)請(qǐng)求攔截器,分別用于提供數(shù)據(jù)服務(wù)路由守衛(wèi)服務(wù)和攔截服務(wù)。在這個(gè)模塊下共有三個(gè)組件。路由路由模塊負(fù)責(zé)整個(gè)模塊的全部路由。和,對(duì)應(yīng)同一個(gè)組件,當(dāng)導(dǎo)航到路徑時(shí),,的為具體的。

上一章講解了用戶登錄的相關(guān)代碼。用戶登錄成功后,就會(huì)進(jìn)入好友模塊,在好友模塊中會(huì)根據(jù)不同的用戶ID顯示相應(yīng)的好友列表,點(diǎn)擊好友列表中的單個(gè)好友就會(huì)進(jìn)入編輯單個(gè)好友頁(yè)面,對(duì)好友信息進(jìn)行編輯。點(diǎn)擊列表頁(yè)面的添加按鈕,就會(huì)添加新的好友。
我們從這一章開始分析這個(gè)好友模塊。

模塊代碼分析

模塊基本代碼如下:

import { NgModule } from "@angular/core";
import { CommonModule } from "@angular/common";
import { ReactiveFormsModule } from "@angular/forms";
import { HTTP_INTERCEPTORS } from "@angular/common/http";
import { BirthdaysComponent } from "./birthdays/birthdays.component";
import { BirthdayListComponent } from "./birthday-list/birthday-list.component";
import { BirthdayRoutingModule } from "./birthday-routing.module";
import { BirthdayService } from "./birthday.service";
import { BirthdayDetailComponent } from "./birthday-detail/birthday-detail.component";
import { AuthGuardService } from "../auth-guard.service";
import { AuthInterceptor } from "../auth-interceptor";
@NgModule({
  imports: [
    CommonModule,
    ReactiveFormsModule,
    BirthdayRoutingModule
  ],
  providers:[
    BirthdayService,
    AuthGuardService,
    {
      provide: HTTP_INTERCEPTORS,
      useClass: AuthInterceptor,
      multi:true
    }
  ],
  declarations: [BirthdaysComponent, BirthdayListComponent, BirthdayDetailComponent]
})
export class BirthdaysModule { }

在模塊代碼中除了作為子模塊必須的導(dǎo)入的CommonModule模塊,還導(dǎo)入了ReactiveFormsModule,BirthdayRoutingModule兩個(gè)模塊,ReactiveFormsModule模塊用于編輯用戶信息的提交表單,基本用法和用戶注冊(cè)的表單相同,BirthdayRoutingModule模塊用于設(shè)置路由。
在providers中提供了BirthdayService、AuthGuardService和一個(gè)HTTP請(qǐng)求攔截器,分別用于提供數(shù)據(jù)服務(wù)、路由守衛(wèi)服務(wù)和HTTP攔截服務(wù)。
在這個(gè)模塊下共有三個(gè)組件:BirthdaysComponent、BirthdayListComponent、BirthdayDetailComponent。
下面開始逐項(xiàng)進(jìn)行分析。

路由

路由模塊BirthdayRoutingModule負(fù)責(zé)整個(gè)Birthdays模塊的全部路由。代碼如下:

import { NgModule } from "@angular/core";
import { Routes, RouterModule } from "@angular/router";
import { BirthdaysComponent } from "./birthdays/birthdays.component";
import { BirthdayListComponent } from "./birthday-list/birthday-list.component";
import { AuthGuardService } from "../auth-guard.service";
import { BirthdayDetailComponent } from "./birthday-detail/birthday-detail.component";
const birthRoutes: Routes = [
    {
        path: "birthday",
        component: BirthdaysComponent,
        canActivate: [AuthGuardService],
        children: [
            { path: "", component: BirthdayListComponent },
            {
                path: ":id",
                component: BirthdayDetailComponent
            },
            {
                path:"new",
                component:BirthdayDetailComponent
            }
        ]
    },
];
@NgModule({
    imports: [RouterModule.forChild(birthRoutes)],
    exports: [RouterModule]
})
export class BirthdayRoutingModule {}

當(dāng)?shù)刂穼?dǎo)航到localhost:4200/birthday時(shí),首先加載BirthdaysComponent控件,BirthdaysComponent控件只要提供一個(gè)路由插座和用戶的注銷操作。
BirthdaysComponent代碼比較簡(jiǎn)單:在這里直接給出html代碼和類代碼
html代碼:


控件類代碼:

import { Component, OnInit } from "@angular/core";
import { Router } from "@angular/router";
import { JumbotronServive, Jumbotron } from "../../jumbotron.service";
import { AuthTokenService } from "../../authtoken.service";
@Component({
  selector: "app-birthdays",
  templateUrl: "./birthdays.component.html",
  styleUrls: ["./birthdays.component.css"]
})
export class BirthdaysComponent{
  constructor(
    private jumbServ: JumbotronServive,
    private tokenServ: AuthTokenService,
    private router: Router) {
    jumbServ.setJumbotron(new Jumbotron("Friends", "", ""));
  }
  logout() {
    this.tokenServ.setToken(null);
    this.router.navigate(["/"]);
  }
}

當(dāng)點(diǎn)擊Logout按鈕時(shí),執(zhí)行l(wèi)ogout()函數(shù),清空保存在本地的認(rèn)證信息,并導(dǎo)航到首頁(yè)。
...
<繼續(xù)路由分析>
birthday路徑下有三個(gè)子路由,分別為:"空",對(duì)應(yīng)BirthdayListComponent組件。":id"和"new",對(duì)應(yīng)同一個(gè)BirthdayDetailComponent組件,當(dāng)導(dǎo)航到"new"路徑時(shí),[routerLink]="[0]",":id"的routerLink為具體的id。
這一篇先暫時(shí)寫這么多,下一篇主要介紹三個(gè)主要的服務(wù)提供程序。敬請(qǐng)期待......

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/52156.html

相關(guān)文章

  • 利用angular4nodejs-express構(gòu)建簡(jiǎn)單網(wǎng)站一)—HttpClient攔截器

    摘要:攔截器的官方解釋為攔截機(jī)制是中的主要特性之一。使用這種攔截機(jī)制,你可以聲明一些攔截器,用它們監(jiān)視和轉(zhuǎn)換從應(yīng)用發(fā)送到服務(wù)器的請(qǐng)求。最后調(diào)用,以便這個(gè)請(qǐng)求流能走到下一個(gè)攔截器,并最終傳給后端處理器。 上一節(jié)介紹了好友模塊,這一節(jié)介紹和好友模塊中的控件有關(guān)的三個(gè)服務(wù)程序。 用HttpClient攔截器發(fā)送用戶認(rèn)證信息 在進(jìn)入好友模塊之前,需要向服務(wù)器發(fā)送認(rèn)證信息,在這里使用angular的H...

    Eric 評(píng)論0 收藏0
  • 利用angular4nodejs-express構(gòu)建一個(gè)簡(jiǎn)單網(wǎng)站(八)—注冊(cè)之保存用戶數(shù)據(jù)

    摘要:上一章通過(guò)用戶注冊(cè)講解了響應(yīng)式表單,這章主要講解如何向服務(wù)器提交注冊(cè)數(shù)據(jù)并導(dǎo)航到好友信息模塊。利用的方法將這個(gè)憑證存儲(chǔ)到本地。針對(duì)一個(gè)進(jìn)行數(shù)據(jù)存儲(chǔ)。當(dāng)用戶關(guān)閉瀏覽器窗口后,數(shù)據(jù)會(huì)被刪除。 上一章通過(guò)用戶注冊(cè)講解了響應(yīng)式表單ReactiveForm,這章主要講解如何向服務(wù)器提交注冊(cè)數(shù)據(jù)并導(dǎo)航到好友信息模塊。 提交注冊(cè)信息 向服務(wù)器提交信息是通過(guò)模板中標(biāo)簽中的(ngSubmit)=onSu...

    haobowd 評(píng)論0 收藏0
  • 利用angular4nodejs-express構(gòu)建一個(gè)簡(jiǎn)單網(wǎng)站(八)—注冊(cè)之保存用戶數(shù)據(jù)

    摘要:上一章通過(guò)用戶注冊(cè)講解了響應(yīng)式表單,這章主要講解如何向服務(wù)器提交注冊(cè)數(shù)據(jù)并導(dǎo)航到好友信息模塊。利用的方法將這個(gè)憑證存儲(chǔ)到本地。針對(duì)一個(gè)進(jìn)行數(shù)據(jù)存儲(chǔ)。當(dāng)用戶關(guān)閉瀏覽器窗口后,數(shù)據(jù)會(huì)被刪除。 上一章通過(guò)用戶注冊(cè)講解了響應(yīng)式表單ReactiveForm,這章主要講解如何向服務(wù)器提交注冊(cè)數(shù)據(jù)并導(dǎo)航到好友信息模塊。 提交注冊(cè)信息 向服務(wù)器提交信息是通過(guò)模板中標(biāo)簽中的(ngSubmit)=onSu...

    宋華 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<