vue實戰(zhàn)(3):底部導(dǎo)航顯示额各、搭建各模塊靜態(tài)頁面国觉、添加登錄頁頁面與路由

不積跬步無以至千里

因為不熟悉,每次整理都花費了不短的時間虾啦,現(xiàn)在以碼代碼為主麻诀,到每個階段再整理痕寓。
本次整理內(nèi)容
--- 底部導(dǎo)航顯示
----- 給谷歌瀏覽器安裝vue調(diào)試插件
--- 各模塊的靜態(tài)頁面搭建完成
--- 添加登錄頁靜態(tài)頁面與路由

0. 其它

vue實戰(zhàn)(1):準(zhǔn)備與資料整理
vue實戰(zhàn)(2):初始化項目、搭建底部導(dǎo)航路由
vue實戰(zhàn)(3):底部導(dǎo)航顯示蝇闭、搭建各模塊靜態(tài)頁面呻率、添加登錄頁頁面與路由
vue實戰(zhàn)(4):postman測試數(shù)據(jù)、封裝ajax呻引、使用vuex管理狀態(tài)
vue實戰(zhàn)(5):總結(jié)一
vue實戰(zhàn)(6):異步顯示數(shù)據(jù)礼仗、開發(fā)Star組件
vue實戰(zhàn)(7):完整開發(fā)登錄頁面(一)
vue實戰(zhàn)(8):完整開發(fā)登錄頁面(二)
vue實戰(zhàn)(9):總結(jié)二
vue實戰(zhàn)(10):開發(fā)店鋪詳情(一)
vue實戰(zhàn)(11):開發(fā)店鋪詳情(二)
vue實戰(zhàn)(12):完結(jié) + 附學(xué)習(xí)視頻

1. 底部導(dǎo)航顯示

完成的底部樣式
  • 底部導(dǎo)航結(jié)構(gòu)
 |-- components                                - 非路由組件文件夾
         |---- FooterGuide                     - 底部組件文件夾
                |---- FooterGuide.vue          - 底部組件
  • 搭建靜態(tài)頁面與添加css樣式
<!--以首頁模塊為例,其余模塊結(jié)構(gòu)相同-->
<div class="footer_guide">
 <!--外賣-->
   <span class="guide_item" :class="{on: '/Msite' === $route.path}" @click="goto('/Msite')">
      <span class="item_icon">
        <i class="iconfont iconshop"></i>
      </span>
      <span>外賣</span>
    </span>
  <!--搜索-->
    <span>
      ……
    </span>
</div>
  • 使用icon,矢量圖標(biāo)
    前面在阿里巴巴矢量圖庫整理的圖標(biāo)在這邊使用逻悠,<i class="iconfont iconshop"></i>
    以外部鏈接形式應(yīng)用元践,使用時添加class即可,iconfont為固定class,iconshop為圖標(biāo)的名字童谒,直接在網(wǎng)頁上粘貼復(fù)制過來防止出錯单旁。
  • 使用對象語法:class="{class名: boolean}"
    對象語法的作用是判斷在class確定的情況下,是否需要惠啄。這里強(qiáng)制綁定class='on',是在切換時顏色也會變化慎恒。
+為瀏覽器安裝Vue.js devtools插件
- 打開谷歌插件商城任内,添加 Vue.js devtools 插件撵渡,便于調(diào)試
- 無法打開插件商城,百度搜索下載 '谷歌商城助手' 安裝
- 如下載好 .crx 文件安裝失敗或者無法安裝等問題死嗦,把文件后綴名改成 .zip 趋距,解壓縮后再在瀏覽器擴(kuò)展程序頁面進(jìn)行導(dǎo)入
  • 添加點擊事件@click="goto('/Msite')"
export default {
  name: 'FooterGuide',
  methods: {
    goto (path) {
      this.$router.replace(path)
    }
  }
}
  • App.vue中引入
<template>
  <div id="app">
    <router-view></router-view>
    <FooterGuide v-if="$route.meta.showFooter"></FooterGuide>
  </div>
</template>

<script>
import FooterGuide from './components/FooterGuide/FooterGuide'
export default {
  name: 'App',
  components: {
    FooterGuide
  }
}
</script>
  • 測試
    npm run serve 啟動,點擊切換成功
    首頁頁面
搜索頁面
訂單頁面
個人頁面

2. 搭建各模塊靜態(tài)頁面

  • 引用css時候越除,有一個
    寫項目時节腐,發(fā)現(xiàn)在index.html中引入<link rel="stylesheet" href="/static/css/reset.css">公用css沒有效果,我重新在main.js中引入import '../static/css/reset.css'才有效果摘盆,具體原因沒有仔細(xì)的去找原因翼雀,以后找找原因再整理。
  • 模塊結(jié)構(gòu)
 |-- views                                - 結(jié)構(gòu)布局文件夾
         |---- Msite                     - 首頁組件文件夾
                |---- Msite.vue          - 首頁組件
         |---- Search                     - 搜索組件文件夾
                |---- Search.vue          - 搜索組件
         |---- Order                     - 訂單組件文件夾
                |---- Order.vue          - 訂單組件
         |---- Profile                     - 個人組件文件夾
                |---- Profile.vue          - 個人組件
         |---- Login                      - 登錄組件文件夾
                |---- Login.vue          - 登錄組件
  • 搭建各模塊靜態(tài)頁面與添加css樣式
  • 搭建完成后孩擂,提取頭部組件
    components文件夾下添加HeaderTop文件夾并添加HeaderTop.vue
  • 頭部組件使用 '插槽' 傳值 <slot name="插槽名"></slot>
<template>
  <header class="header">
    <slot name="left"></slot>

    <span class="header_title">
      <span class="header_title_text ellipsis">{{title}}</span>
    </span>

    <slot name="right"></slot>
  </header>
</template>

<script>
export default {
  name: 'HeaderTop',
  props: {
    title: String
  }
}
</script>
  • 各模塊頭部組件替換
    '插槽' 還不怎么會使用狼渊,不過不是很難,使用起來問題不大类垦。主要是router-link標(biāo)簽狈邑,slot="指定插槽名"to="跳轉(zhuǎn)路由"
<!--以首頁頭部為例,其它相同類似-->
    <HeaderTop title="昌平區(qū)北七家宏冈槿希科技園(337省道北)">
      <router-link class="header_search" slot="left" to="">
        <i class="iconfont iconfangdajing"></i>
      </router-link>
      <router-link class="header_login" slot="right" to="">
        <span class="header_login_text">登錄|注冊</span>
      </router-link>
    </HeaderTop>
  • 抽取商店列表為單獨組件
    --components文件夾下添加ShopList文件夾并添加ShopList.vue
    --抽取頁面與css
    --在Msite引入
  • 使用Swiper首頁頁面圖片中的2部分進(jìn)行改造
    Swiper為輪播插件米苹,看了官網(wǎng)文檔,現(xiàn)在已經(jīng)支持vue了砰琢,官方文檔
    ---在項目中添加依賴npm install vue-awesome-swiper --save
    ---main.js中引用并使用import VueAwesomeSwiper from 'vue-awesome-swiper'蘸嘶,Vue.use(VueAwesomeSwiper)
    ---在使用的地方引用cssimport 'swiper/dist/css/swiper.css'
    照著文檔傻瓜式的操作后良瞧,輪播完成
methods: {
    _initSwiper () {
      new Swiper('.swiper-container', {
        loop: true, // 循環(huán)模式選項
        pagination: {
          el: '.swiper-pagination'
        }
      })
    }
  },
  mounted () {
    this._initSwiper()
  }

3. 添加登錄頁

  • 搭建登錄頁靜態(tài)頁面與添加css樣式
  • 要求點擊個人頁面圖片上的登錄/注冊,進(jìn)入Login頁面
  • router.js中配置login路由import Login from '../views/Login/Login'训唱,{ path: '/login', component: Login }
  • Profile.vue中改造標(biāo)簽為router-link并添加路由to="/login"莺褒,實現(xiàn)跳轉(zhuǎn)
  • 去除登錄頁導(dǎo)航欄
    App.vue中的FooterGuide標(biāo)簽進(jìn)行判斷<FooterGuide v-if="$route.meta.showFooter"> </FooterGuide>
  • router.js中對各模塊路由進(jìn)行配置,在需要顯示導(dǎo)航欄的頁面路由添加meta屬性
{
      path: '/Msite', // 首頁
      component: Msite,
      meta: {
        showFooter: true
      }
    }
登錄頁面
  • 去除成功雪情,在回退按鈕添加返回@click="$router.back()"

4. 結(jié)束

  • 目前為止遵岩,頁面的布置與路由搭建,基本的框架差不多完成


    目前目錄結(jié)構(gòu)
接下來就是接入數(shù)據(jù)階段了巡通,頁面也需要重構(gòu)
點個贊唄尘执!
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市宴凉,隨后出現(xiàn)的幾起案子誊锭,更是在濱河造成了極大的恐慌,老刑警劉巖弥锄,帶你破解...
    沈念sama閱讀 221,273評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件丧靡,死亡現(xiàn)場離奇詭異,居然都是意外死亡籽暇,警方通過查閱死者的電腦和手機(jī)温治,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來戒悠,“玉大人熬荆,你說我怎么就攤上這事〕窈” “怎么了卤恳?”我有些...
    開封第一講書人閱讀 167,709評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長寒矿。 經(jīng)常有香客問我突琳,道長,這世上最難降的妖魔是什么符相? 我笑而不...
    開封第一講書人閱讀 59,520評論 1 296
  • 正文 為了忘掉前任拆融,我火速辦了婚禮,結(jié)果婚禮上主巍,老公的妹妹穿的比我還像新娘冠息。我一直安慰自己,他們只是感情好孕索,可當(dāng)我...
    茶點故事閱讀 68,515評論 6 397
  • 文/花漫 我一把揭開白布逛艰。 她就那樣靜靜地躺著,像睡著了一般搞旭。 火紅的嫁衣襯著肌膚如雪散怖。 梳的紋絲不亂的頭發(fā)上菇绵,一...
    開封第一講書人閱讀 52,158評論 1 308
  • 那天,我揣著相機(jī)與錄音镇眷,去河邊找鬼咬最。 笑死,一個胖子當(dāng)著我的面吹牛欠动,可吹牛的內(nèi)容都是我干的永乌。 我是一名探鬼主播,決...
    沈念sama閱讀 40,755評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼具伍,長吁一口氣:“原來是場噩夢啊……” “哼翅雏!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起人芽,我...
    開封第一講書人閱讀 39,660評論 0 276
  • 序言:老撾萬榮一對情侶失蹤望几,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后萤厅,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體橄抹,經(jīng)...
    沈念sama閱讀 46,203評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,287評論 3 340
  • 正文 我和宋清朗相戀三年惕味,在試婚紗的時候發(fā)現(xiàn)自己被綠了楼誓。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,427評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡赦拘,死狀恐怖慌随,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情躺同,我是刑警寧澤,帶...
    沈念sama閱讀 36,122評論 5 349
  • 正文 年R本政府宣布丸逸,位于F島的核電站蹋艺,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏黄刚。R本人自食惡果不足惜捎谨,卻給世界環(huán)境...
    茶點故事閱讀 41,801評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望憔维。 院中可真熱鬧涛救,春花似錦、人聲如沸业扒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,272評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽程储。三九已至蹭沛,卻和暖如春臂寝,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背摊灭。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評論 1 272
  • 我被黑心中介騙來泰國打工咆贬, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人帚呼。 一個月前我還...
    沈念sama閱讀 48,808評論 3 376
  • 正文 我出身青樓掏缎,卻偏偏與公主長得像,于是被迫代替她去往敵國和親煤杀。 傳聞我的和親對象是個殘疾皇子御毅,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,440評論 2 359

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

  • 這是我第5篇簡書端蛆。 ??由于Vue在開發(fā)時對路由支持的不足,于是官方補(bǔ)充了vue-router插件酥泛。vue的單頁面...
    東西里閱讀 45,365評論 20 212
  • 一:什么是閉包今豆?閉包的用處? (1)閉包就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù)柔袁。在本質(zhì)上呆躲,閉包就 是將函數(shù)內(nèi)部和函數(shù)外...
    xuguibin閱讀 9,631評論 1 52
  • 第三章:表白與見面 “暑假真是無聊,”格蕾絲在床上玩著手機(jī)抱怨道捶索。恫宓啵~是安迪發(fā)來的微信!“他居然說我笨腥例?”...
    一只草莓寶寶閱讀 471評論 0 1
  • 新綠打濕了 雨 眼睛捕捉著 霧 光亮得刺眼 溫暖辅甥,甜蜜且幸福 但那是遠(yuǎn)方 近在咫尺 伸手怕落空 縮手怕錯過 竹葉青...
    七念堂陳七七閱讀 183評論 0 2
  • 暑假第40天,周五燎竖。 孩子照例又是7:30起床璃弄,自己寫作業(yè)呢,今天老師晚點過來构回,孩子決定寫后面的作...
    記得祝福閱讀 187評論 0 3