Angular4記賬webApp練手項(xiàng)目之三(在angular4項(xiàng)目中使用路由router)

Angular4記賬webApp練手項(xiàng)目之一(利用angular-cli構(gòu)建Angular4.X項(xiàng)目)
Angular4記賬webApp練手項(xiàng)目之二(在angular4項(xiàng)目中使用Angular WeUI)
Angular4記賬webApp練手項(xiàng)目之三(在angular4項(xiàng)目中使用路由router)
Angular4記賬webApp練手項(xiàng)目之四(在Angular4項(xiàng)目中用echarts繪制圖表)
Angular4記賬webApp練手項(xiàng)目之五(Angular4項(xiàng)目中創(chuàng)建service(服務(wù))和使用http模塊)
前臺(tái)源碼

前言

1闯袒、本項(xiàng)目是基于之前文章續(xù)寫的嫉你。

用到了哪些

1宗苍、路由拦止,子路由的使用移必,引入——定義Routes——router-outlet——routerLink——routerLinkActive
2桐玻、(click)指令,綁定事件
3婴氮、[ngClass]指令只洒,綁定樣式

安裝

npm i --save @angular/router

官方網(wǎng)址:https://angular.io/guide/router

引入和使用

要使用路由许帐,我們需要在 app.module.ts 模塊中,導(dǎo)入 RouterModule 毕谴。具體如下:

import { RouterModule } from '@angular/router';
  imports: [
    BrowserModule,
    FormsModule,
    HttpModule,
    RouterModule, 
    WeUIModule
  ],

這樣還不行成畦,還要定義和添加路由,修改如下:

import { Routes, RouterModule } from '@angular/router';
export const ROUTES: Routes = [
    { path: '#', component: AccountingComponent },
    { path: 'count', component: CountComponent }
  ];
  imports: [
    BrowserModule,
    FormsModule,
    HttpModule,
    WeUIModule,
    RouterModule.forRoot(ROUTES)
  ],

這樣就定義好路由了涝开,還需要在頁面上指定路由的區(qū)域羡鸥。修改菜單menu.component.html如下:
routerLink 是路由地址,routerLinkActive的作用是忠寻,當(dāng) a 元素對(duì)應(yīng)的路由處于激活狀態(tài)時(shí),weui-bar__item_on類將會(huì)自動(dòng)添加到 a 元素上存和。

<weui-tabbar>
  <a routerLink="#" routerLinkActive="weui-bar__item_on" class="weui-tabbar__item">
    <span class="weui-tabbar__icon">
      <i class="fa fa-edit"></i>
    </span>
    <p class="weui-tabbar__label">記賬</p>
  </a>
  <a routerLink="/count" routerLinkActive="weui-bar__item_on" class="weui-tabbar__item">
    <span class="weui-tabbar__icon">
      <i class="fa fa-bar-chart"></i>
    </span>
    <p class="weui-tabbar__label">統(tǒng)計(jì)</p>
  </a>
</weui-tabbar>

app.component.html 修改如下:
router-outlet為路由內(nèi)容呈現(xiàn)的容器奕剃。


<router-outlet></router-outlet>

<app-menu></app-menu>

可以看出存在問題,進(jìn)入時(shí)沒有默認(rèn)頁面捐腿,必須點(diǎn)擊后才會(huì)到對(duì)應(yīng)頁面纵朋,可以將路由中#改為空,可以實(shí)現(xiàn)默認(rèn)進(jìn)入記賬頁面茄袖,但是routerLinkActive就失去效果了操软,記賬按鈕就會(huì)一直亮著。不夠后面我們用動(dòng)態(tài)綁定class的方法來代替routerLinkActive宪祥。

這里寫圖片描述

二級(jí)路由(子路由使用)

我們當(dāng)初設(shè)計(jì)統(tǒng)計(jì)有兩個(gè)頁面聂薪,按年統(tǒng)計(jì),和按月統(tǒng)計(jì)』妊颍現(xiàn)在來完成這個(gè)藏澳。
加入子路由

export const ROUTES: Routes = [
    { path: '#', component: AccountingComponent },
    { path: 'count', component: CountComponent, children: [
      { path: '', component: CountMonthComponent },
      { path: 'year', component: CountYearComponent }
    ] }
  ];

添加count.component.html

<div class="weui-panel__hd">
  <span>當(dāng)前記賬金額為:</span>
  <em>123456</em>
</div>
<weui-navbar style="position: relative">
  <a routerLink="/count" class="weui-navbar__item">
    <h4>月</h4>
  </a>
  <a routerLink="/count/year" class="weui-navbar__item" >
    <h4>年</h4>
  </a>
</weui-navbar>
<div>
  <router-outlet></router-outlet>
</div>

這里我們沒有用到routerLinkActive,現(xiàn)在我們用動(dòng)態(tài)樣式來實(shí)現(xiàn)


這里寫圖片描述

count.component.ts里面我們添加一個(gè)標(biāo)記

export class CountComponent implements OnInit {
  activeIndex = 0; // 當(dāng)前激活標(biāo)記
  constructor() { }

  ngOnInit() {
  }
  setActive(i) { // 設(shè)置標(biāo)記
    this.activeIndex = i;
  }
}

count.component.html 修改

<weui-navbar style="position: relative">
  <a routerLink="/count" (click)="setActive(1)" class="weui-navbar__item" [ngClass]="{'weui-bar__item_on':activeIndex == 1}">
    <h4>月</h4>
  </a>
  <a routerLink="/count/year" (click)="setActive(2)" class="weui-navbar__item" [ngClass]="{'weui-bar__item_on':activeIndex == 2}">
    <h4>年</h4>
  </a>
</weui-navbar>

修改下count.component.css里的樣式

.weui-panel__hd{
  padding:18px;
  text-align: center;
}
.weui-panel__hd span{
  font-size: 14px;
}
.weui-panel__hd em{
  font-size: 20px;
  color:  #09bb07;
  display: inherit;
  letter-spacing: 1px;
}

這里寫圖片描述
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末耀找,一起剝皮案震驚了整個(gè)濱河市翔悠,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖蓄愁,帶你破解...
    沈念sama閱讀 221,576評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件双炕,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡撮抓,警方通過查閱死者的電腦和手機(jī)妇斤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來胀滚,“玉大人趟济,你說我怎么就攤上這事⊙柿” “怎么了顷编?”我有些...
    開封第一講書人閱讀 168,017評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)剑刑。 經(jīng)常有香客問我媳纬,道長(zhǎng),這世上最難降的妖魔是什么施掏? 我笑而不...
    開封第一講書人閱讀 59,626評(píng)論 1 296
  • 正文 為了忘掉前任钮惠,我火速辦了婚禮,結(jié)果婚禮上七芭,老公的妹妹穿的比我還像新娘素挽。我一直安慰自己,他們只是感情好狸驳,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,625評(píng)論 6 397
  • 文/花漫 我一把揭開白布预明。 她就那樣靜靜地躺著,像睡著了一般耙箍。 火紅的嫁衣襯著肌膚如雪撰糠。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,255評(píng)論 1 308
  • 那天辩昆,我揣著相機(jī)與錄音阅酪,去河邊找鬼。 笑死汁针,一個(gè)胖子當(dāng)著我的面吹牛术辐,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播施无,決...
    沈念sama閱讀 40,825評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼术吗,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了帆精?” 一聲冷哼從身側(cè)響起较屿,我...
    開封第一講書人閱讀 39,729評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤隧魄,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后隘蝎,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體购啄,經(jīng)...
    沈念sama閱讀 46,271評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,363評(píng)論 3 340
  • 正文 我和宋清朗相戀三年嘱么,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了狮含。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,498評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡曼振,死狀恐怖几迄,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情冰评,我是刑警寧澤映胁,帶...
    沈念sama閱讀 36,183評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站甲雅,受9級(jí)特大地震影響解孙,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜抛人,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,867評(píng)論 3 333
  • 文/蒙蒙 一弛姜、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧妖枚,春花似錦廷臼、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至抒寂,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間掠剑,已是汗流浹背屈芜。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留朴译,地道東北人井佑。 一個(gè)月前我還...
    沈念sama閱讀 48,906評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像眠寿,于是被迫代替她去往敵國和親躬翁。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,507評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容