vue學(xué)習(xí):webpack+vue(路由)

image.png

自己做了一個vue前端項目

因為工作中沒有h5項目床佳,慢慢的離h5越來越遠(yuǎn)怕品,所以狠下心來做一個h5項目峡钓,就仿照簡書h5做了一個單頁面應(yīng)用。

整體的項目搭建還是用的之前的webpack+vue2的代碼夭委。
文章在這:http://www.reibang.com/p/468a69ac2fc4

然后一步一步的把項目搭建起來幅狮,首先需要把網(wǎng)站的路由系統(tǒng)做出來。
看一下文件目錄:

image.png

第一步:引入路由

import routes from './router'
// 這是router.js
export default {
  '/': 'Home',
  '/login': 'Login',
  '/detail/:id':'Detail'
}
const app = new Vue({

el:"#app",
data:{
    currentRoute: window.location.pathname,
    topshow:false ,
    isLogin:false   
},
computed:{
    ViewComponent () {

        const matchingView = routes[this.currentRoute]
        return matchingView
            ? require('./views/' + matchingView + '.vue')
            : require('./views/404.vue')
    }
},
render (h) {
    return h(this.ViewComponent)
},
methods:{

    com_Ajax(obj,success,error){
        this.$ajax(obj).then(function(data){

            success(data);
        },function(data){
            
            error(data);
        })
    }
}


})

可以看見路由是通過監(jiān)控 this.currentRoute 屬性進(jìn)行相應(yīng)的頁面渲染 這里個問題株灸,用戶通過路由跳轉(zhuǎn)頁面后直接刷新就會404崇摄,其實個問題需要在項目的服務(wù)端配置一下,這里就不多進(jìn)行解釋慌烧。

因為這個路由是基于 HTML5 history API 所以還需要將相關(guān)知識補上逐抑,看網(wǎng)上也有相關(guān)介紹如:https://segmentfault.com/a/1190000002447556

第二步:路由的組件

import VLink from '../components/VLink.vue'

<template>
<a
v-bind:href="href"
v-on:click="go"
>
<slot></slot>
</a>
</template>

<script>
import router from '../router'

export default {
props: {
  href: {
    type:String,
    required: true 
  }
},
methods: {
  
  go (event) { 
    event.preventDefault()
    this.$root.currentRoute = this.href
    window.history.pushState(
      null,
      router[this.href],
      this.href
    )
  }
}
}
</script>

<style scoped>
  .active {
    color: cornflowerblue;
  }
</style>

用的時候直接:

<v-link href="/login" class="colorMove">
        Login
</v-link>

其實看組件的最終改變的是 this.$root.currentRoute = this.href 所以觸發(fā)前面的實時監(jiān)控,進(jìn)行頁面的渲染屹蚊。
這里用到了 window.history.pushState
history.pushState()
它的完全體是 history.pushState(stateObject, title, url)厕氨,包括三個參數(shù)。

第1個參數(shù)是狀態(tài)對象汹粤,它可以理解為一個拿來存儲自定義數(shù)據(jù)的元素命斧。它和同時作為參數(shù)的url會關(guān)聯(lián)在一起。

第2個參數(shù)是標(biāo)題嘱兼,是一個字符串国葬,目前各類瀏覽器都會忽略它(以后才有可能啟用,用作頁面標(biāo)題)芹壕,所以設(shè)置成什么都沒關(guān)系胃惜。目前建議設(shè)置為空字符串。

第3個參數(shù)是URL地址哪雕,一般會是簡單的?page=2這樣的參數(shù)風(fēng)格的相對路徑,它會自動以當(dāng)前URL為基準(zhǔn)鲫趁。需要注意的是斯嚎,本參數(shù)URL需要和當(dāng)前頁面URL同源,否則會拋出錯誤。

調(diào)用pushState()方法將新生成一條歷史記錄堡僻,方便用瀏覽器的“后退”和“前進(jìn)”來導(dǎo)航(“后退”可是相當(dāng)常用的按鈕)糠惫。另外,從URL的同源策略可以看出钉疫,HTML5 history API的出發(fā)點是很明確的硼讽,就是讓無跳轉(zhuǎn)的單站點也可以將它的各個狀態(tài)保存為瀏覽器的多條歷史記錄。當(dāng)通過歷史記錄重新加載站點時牲阁,站點可以直接加載到對應(yīng)的狀態(tài)固阁。

到這為止關(guān)于路由的相關(guān)介紹就沒了。

我也是結(jié)合vue官網(wǎng)的路由案例進(jìn)行學(xué)習(xí)的
就是這個:https://github.com/chrisvfritz/vue-2.0-simple-routing-example

? 著作權(quán)歸作者所有
文/奔跑的攻城獅(簡書作者)
原文鏈接:http://www.reibang.com/p/ce23c878b677
著作權(quán)歸作者所有城菊,轉(zhuǎn)載請聯(lián)系作者獲得授權(quán)备燃,并標(biāo)注“簡書作者”。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末凌唬,一起剝皮案震驚了整個濱河市并齐,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌客税,老刑警劉巖况褪,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異更耻,居然都是意外死亡测垛,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進(jìn)店門酥夭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來赐纱,“玉大人,你說我怎么就攤上這事熬北「砻瑁” “怎么了?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵讶隐,是天一觀的道長起胰。 經(jīng)常有香客問我,道長巫延,這世上最難降的妖魔是什么效五? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮炉峰,結(jié)果婚禮上畏妖,老公的妹妹穿的比我還像新娘。我一直安慰自己疼阔,他們只是感情好戒劫,可當(dāng)我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布低剔。 她就那樣靜靜地躺著起意,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上涧黄,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天菠隆,我揣著相機(jī)與錄音获黔,去河邊找鬼医窿。 笑死,一個胖子當(dāng)著我的面吹牛统阿,可吹牛的內(nèi)容都是我干的彩倚。 我是一名探鬼主播,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼砂吞,長吁一口氣:“原來是場噩夢啊……” “哼署恍!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蜻直,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤盯质,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后概而,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體呼巷,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年赎瑰,在試婚紗的時候發(fā)現(xiàn)自己被綠了王悍。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡餐曼,死狀恐怖压储,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情源譬,我是刑警寧澤集惋,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站踩娘,受9級特大地震影響刮刑,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜养渴,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一雷绢、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧理卑,春花似錦翘紊、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽孵滞。三九已至,卻和暖如春鸯匹,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背泄伪。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工殴蓬, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蟋滴。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓染厅,卻偏偏與公主長得像,于是被迫代替她去往敵國和親津函。 傳聞我的和親對象是個殘疾皇子肖粮,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,592評論 2 353

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