国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Angular 多級路由實現登錄頁面跳轉(小白教程)

2020-02-15 21:30:19
字體:
來源:轉載
供稿:網友

本文受眾是 Angular 初學者,沒有多級路由使用經驗,不知道登錄頁面與主頁跳轉的實現邏輯,相反,看到這里你就可以結束了,不要浪費時間。下面來看看小白對于登錄頁面的理解:

上圖中左邊是導航菜單欄,右邊的空白區域是 <router-outlet> 所在區域,即所有實現業務邏輯的組件都在這里顯示 - 點擊左邊導航欄的項目右側B區域就替換為對應的頁面,那么問題來了,登錄頁面要怎么做?

多級路由實現圖

圖有點大,看不清楚的放大點看吧。看了這個圖相信一部分人已經懂了實現原理了。如果還是不懂,來看下面的文字講解。

實現原理講解

本文案例以 Angular + ng-zorro-antd 來講解,如果使用了別的UI套件也沒關系,原理都是一樣的

使用命令 ng new logindemo 創建項目 在命令行界面使用 cd 切換當前路徑為上面創建的項目的根目錄下 使用命令 ng add ng-zorro-antd 向項目中添加UI套件 此時運行起來后大致就是本文的第一個圖片的顯示效果:左邊是導航菜單,右邊是變換顯示業務組件的區域 那么小白走到這里就被誤導了,產生了本文初的疑惑,下面開始來解扣了。

項目創建好了,下面介紹改造項目的步驟:

注釋掉文件 app.component.html 中的全部代碼,并且添加一行:<router-outlet></router-outlet>

創建布局組件 layout ,將文件 app.component.html 中被注釋的代碼拷貝來,那么本組件的效果就是本文的第一個圖片的布局效果了。拷貝來的代碼中自帶了路由插槽 <router-outlet></router-outlet> 那么到本頁面中的路由插槽實際就是二級路由了。二級路由的代碼如下:

const routes: Routes = [ {   path:'',component:LayoutComponent,canActivate:[LayoutGuard],  children:[   { path: 'dbManager',loadChildren: () =>     import('../dbmanager/dbmanager.module').then(m => m.DbmanagerModule) },   { path: 'generateTree',loadChildren: () =>     import('../gentree/gentree.module').then(m => m.GentreeModule) }  ]  }];

本組件的超鏈接中路徑寫法:<a routerLink="dbManager" >數據庫管理器</a>,之前創建項目時的默認寫法是:<a routerLink="/dbManager" >數據庫管理器</a>,即只是去掉了 dbManager 前面的斜線。

那么在文件 app.component.ts 組件關聯的路由文件 app-routing.module.ts 中的路由代碼如下:

const routes: Routes = [ { path: '', pathMatch: 'full', redirectTo: '/layout' }, { path: 'login', loadChildren: () =>   import('./pages/login/login.module').then(m => m.LoginModule) }, { path: 'layout',loadChildren: () =>   import('./pages/layout/layout.module').then(m => m.LayoutModule)}];            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洪江市| 闵行区| 江阴市| 沙洋县| 大同县| 京山县| 错那县| 长汀县| 香河县| 宜都市| 米林县| 突泉县| 江津市| 九龙县| 桐柏县| 错那县| 始兴县| 东平县| 平谷区| 古浪县| 祁东县| 高平市| 勐海县| 遂昌县| 彰化县| 义马市| 永登县| 五原县| 天峻县| 五峰| 东乌珠穆沁旗| 南汇区| 武义县| 伊春市| 偏关县| 安龙县| 汾西县| 稷山县| 凉山| 天台县| 山东省|