Vue 學(xué)習(xí)入門指南

如果你是一名 Vue 開(kāi)發(fā)新手燕垃,可能已經(jīng)聽(tīng)過(guò)很多行話術(shù)語(yǔ)枢劝,比如單頁(yè)面應(yīng)用程序、異步組件卜壕、服務(wù)器端渲染等等您旁,或者還聽(tīng)說(shuō)過(guò)與 Vue 有關(guān)的一些工具和庫(kù),比如 Vuex轴捎、Webpack鹤盒、Vue CLI 和 Nuxt蚕脏。

那么究竟什么是Vue,有什么作用昨悼?

公眾號(hào):代碼集中營(yíng)
每周分享技術(shù)文章蝗锥、優(yōu)質(zhì)軟件資源

Vue.js是一套用于構(gòu)建用戶界面的漸進(jìn)式框架,主要用于快速的構(gòu)建前端界面率触,與其它大型的前端框架不同终议,Vue被設(shè)計(jì)為可以自底向上逐層應(yīng)用。相比Angular.js來(lái)說(shuō)葱蝗,Vue的核心庫(kù)只關(guān)注視圖層穴张,不僅易于上手,還便于與第三方庫(kù)或既有項(xiàng)目整合两曼,是初創(chuàng)項(xiàng)目的前端首選框架皂甘。作為一個(gè)新興的前端框架,Vue.js大量借鑒和參考了Angular.js和React.js等優(yōu)秀的前端框架悼凑。而在版本支持上偿枕,Vue.js拋棄了對(duì)IE8的支持,對(duì)移動(dòng)端的支持也有一定的要求户辫,也就是說(shuō)使用Vue.js進(jìn)行移動(dòng)跨平臺(tái)開(kāi)發(fā)時(shí)需要Android 4.2+和iOS 7+支持渐夸。

image.png

Vue在MVVM模式中,充當(dāng)?shù)氖荲IewModel渔欢,就是用于處理數(shù)據(jù)交互與相應(yīng)

言歸正傳墓塌,要入門Vue需要掌握哪些吶,這是代碼君繪制的結(jié)構(gòu)圖

結(jié)構(gòu)圖.png

根據(jù)架構(gòu)圖奥额,我們可以知道Vue架構(gòu)的搭建需要學(xué)會(huì)哪些知識(shí)苫幢!

首先,在學(xué)習(xí)vue.js的前提是掌握了 html/js/css垫挨,這塊應(yīng)該沒(méi)什么難度韩肝,大家很容易就能掌握。
接下來(lái)需要掌握ES6, 這是大前提一定要懂九榔,一定要懂伞梯,一定要懂, 推薦閱讀阮一峰的 ES6入門帚屉,基礎(chǔ)這里必須掌握,否則也沒(méi)必要往下閱讀漾峡,因?yàn)闆](méi)學(xué)會(huì)走路就想跑攻旦,很容易摔倒!

《ECMAScript 6 入門教程》PDF版

ES2015簡(jiǎn)介和基本語(yǔ)法

一生逸、View 和 Components

View 就是UI界面牢屋,實(shí)現(xiàn)基本是html+css且预,當(dāng)然了,目前也有主流的UI組件庫(kù)烙无,我們只需要站在巨人的肩膀進(jìn)行開(kāi)發(fā)锋谐,可以更加高效。

移動(dòng)端UI組件庫(kù):有贊出品的 Vant

PC端UI組件庫(kù):餓了么出品的 Element

Components 就是組件截酷,你可以這么理解涮拗,一個(gè)View 可以由多個(gè)Components組件構(gòu)成,比如一個(gè)列表頁(yè)迂苛,可以由頭部組件+列表組件+尾部組件三热,構(gòu)成一個(gè)界面,作為新手三幻,組件化可以先放一下就漾,先學(xué)會(huì)利用成熟的組件庫(kù),進(jìn)行UI開(kāi)發(fā)即可念搬,新手通過(guò)現(xiàn)成的UI庫(kù)抑堡,會(huì)比較容易快速實(shí)現(xiàn)UI界面

二、Router

Vue RouterVue.js 官方的路由管理器朗徊。它和 Vue.js 的核心深度集成首妖,讓構(gòu)建單頁(yè)面應(yīng)用變得易如反掌。包含的功能有:

  • 嵌套的路由/視圖表
  • 模塊化的荣倾、基于組件的路由配置
  • 路由參數(shù)悯搔、查詢、通配符
  • 基于 Vue.js 過(guò)渡系統(tǒng)的視圖過(guò)渡效果
  • 細(xì)粒度的導(dǎo)航控制
  • 帶有自動(dòng)激活的 CSS class 的鏈接
  • HTML5 歷史模式或 hash 模式舌仍,在 IE9 中自動(dòng)降級(jí)
  • 自定義的滾動(dòng)條行為

對(duì)于新手來(lái)說(shuō)妒貌,你只需要知道,路由Router 用來(lái)分發(fā)請(qǐng)求對(duì)應(yīng)跳轉(zhuǎn)的界面铸豁,比如用戶訪問(wèn)網(wǎng)址:http://localhost:8088/pageA , http://localhost:8088/pageB,我們需要根據(jù)請(qǐng)求路徑灌曙,通過(guò)路由的方式,配置跳轉(zhuǎn)對(duì)應(yīng)的界面

三节芥、Vuex + Store

什么是vuex在刺?Vuex 是一個(gè)專門為 Vue.js 應(yīng)用設(shè)計(jì)的 狀態(tài)管理模型 + 庫(kù)。它為應(yīng)用內(nèi)的所有組件提供集中式存儲(chǔ)服務(wù)头镊,其中的規(guī)則確保狀態(tài)只能按預(yù)期方式變更蚣驼。狀態(tài)改變了,對(duì)應(yīng)的視圖也會(huì)改變相艇。

上面比較官方颖杏,我舉一個(gè)具體例子,比如我們寫(xiě)界面需要判斷是否登陸坛芽,一般是根據(jù)token留储,這個(gè)token的狀態(tài)管理就是用Vuex+Store,存儲(chǔ)token狀態(tài)翼抠,然后每次調(diào)用接口的時(shí)候,取出token數(shù)據(jù)获讳,如果為空阴颖,自動(dòng)跳轉(zhuǎn)到登陸界面,所以你只需要理解Vuex + Store 用于存儲(chǔ)丐膝,類似輕量級(jí)數(shù)據(jù)庫(kù)

四量愧、接口API + Mock

接口API就是網(wǎng)絡(luò)請(qǐng)求,這里代碼君推薦使用 axios
axios 是一個(gè)基于Promise 用于瀏覽器和 nodejs 的 HTTP 客戶端尤误,它本身具有以下特征:

  • 從瀏覽器中創(chuàng)建 XMLHttpRequest
  • 從 node.js 發(fā)出 http 請(qǐng)求
  • 支持 Promise API
  • 攔截請(qǐng)求和響應(yīng)
  • 轉(zhuǎn)換請(qǐng)求和響應(yīng)數(shù)據(jù)
  • 取消請(qǐng)求
  • 自動(dòng)轉(zhuǎn)換JSON數(shù)據(jù)
  • 客戶端支持防止 CSRF/XSRF

這里新手只需要知道網(wǎng)絡(luò)請(qǐng)求框架我們用的是axios侠畔,后續(xù)代碼君會(huì)出專門文章對(duì) axios 使用進(jìn)行講解

Mock專業(yè)術(shù)語(yǔ)就是數(shù)據(jù)模擬,有了mockjs损晤,前端工程師再也不用等后端人員開(kāi)發(fā)好之后再測(cè)數(shù)據(jù)了软棺,因?yàn)閙ockjs可以攔截ajax請(qǐng)求,有了mockjs我們可以模擬后臺(tái)返回?cái)?shù)據(jù)尤勋,以方便的進(jìn)行一系列的操作喘落。這個(gè)新手可以先了解一下概念,后續(xù)在網(wǎng)絡(luò)請(qǐng)求模擬數(shù)據(jù)的時(shí)候會(huì)用到最冰,到時(shí)候也會(huì)專門講解的

五瘦棋、Directives

自定義指令,就是除了VUE定義的指令外暖哨,還支持用戶注冊(cè)自定義指令赌朋,那么你可能會(huì)問(wèn),什么是vue的指令篇裁,我舉幾個(gè)常用的指令沛慢,后續(xù)你一定會(huì)碰見(jiàn)的

  • v-bind指令: 是Vue中,提供的用來(lái)綁定屬性的指令,只能實(shí)現(xiàn)數(shù)據(jù)的單向綁定,從M自動(dòng)綁定到V,無(wú)法實(shí)現(xiàn)數(shù)據(jù)的雙向綁定达布。
  • v-model指令:Vue中唯一一個(gè)實(shí)現(xiàn)雙向數(shù)據(jù)綁定的指令, 注意 : 只能運(yùn)用到表單元素中
  • v-for指令: 用于寫(xiě)循環(huán)界面团甲,比如列表頁(yè),復(fù)用同一個(gè)view
  • v-if 和 v-else 和 v-else-if 還有 v-show指令:用于控制界面是否顯示黍聂,或者瞞住什么條件進(jìn)行顯示
    上面舉的例子是比較常用的躺苦,這個(gè)新手有一個(gè)概念就好,自定義指令還用不到對(duì)于新手产还,但是系統(tǒng)定義的那些常用指令匹厘,我們必須熟悉哈~

六、Mixins

混入 (mixins): 是一種分發(fā) Vue 組件中可復(fù)用功能的非常靈活的方式脐区∮希混入對(duì)象可以包含任意組件選項(xiàng)。當(dāng)組件使用混入對(duì)象時(shí),所有混入對(duì)象的選項(xiàng)將被混入該組件本身的選項(xiàng)扰路。

這個(gè)概念官方說(shuō)的比較繞,我舉一個(gè)簡(jiǎn)單的例子倔叼,Vue 界面一些公用的東西汗唱,比如頭部、尾部丈攒,不是可以通過(guò)Components實(shí)現(xiàn)組件化開(kāi)發(fā)哩罪,當(dāng)我們?cè)陂_(kāi)發(fā)JS代碼的時(shí)候,如果遇到多個(gè)界面執(zhí)行相同的邏輯代碼巡验,是否也可以抽離出來(lái)吶际插?基于這個(gè)思考,Mixins就出來(lái)了显设,Mixins相當(dāng)于js中的組件化框弛,把相同的抽離出來(lái),然后再通過(guò)Mixins插入到j(luò)s里面

那么可能有人會(huì)問(wèn)捕捂,抽離出工具類不也可以嘛瑟枫! Mixins 和抽離出來(lái)的工具類有什么差別吶?
工具類只能針對(duì)方法進(jìn)行抽離指攒,Mixins 可以說(shuō)更加強(qiáng)大慷妙,是可以根據(jù)生命周期進(jìn)行抽離的,比如A允悦、B膝擂、C界面都需要在創(chuàng)建的時(shí)候,驗(yàn)證有沒(méi)有登陸隙弛,就可以在創(chuàng)建的生命周期里面抽離出驗(yàn)證登陸的方法架馋,然后在通過(guò)Mixins插入到各個(gè)界面里

新手只需要了解 表現(xiàn)層與 API 層,業(yè)務(wù)層比較深入驶鹉,可以后面再了解绩蜻,工具層大家都比較好理解,就是一些常用的時(shí)間日期管理工具類室埋、浮點(diǎn)計(jì)算等工具類的封裝办绝,基礎(chǔ)設(shè)施層,代碼君在下一篇文章姚淆,Vue 入門環(huán)境搭建 進(jìn)行講解孕蝉!

好了,這次的入門指南就這些腌逢,此篇文章是對(duì) Vue 整體的框架進(jìn)行宏觀剖析降淮,就是希望初學(xué)者能對(duì) Vue 設(shè)計(jì)到的知識(shí)面有一個(gè)宏觀的概念,之后代碼君會(huì)分別對(duì)涉及到的知識(shí)點(diǎn)依次進(jìn)行講解!

下一篇: Vue 入門環(huán)境搭建

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末佳鳖,一起剝皮案震驚了整個(gè)濱河市霍殴,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌系吩,老刑警劉巖来庭,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異穿挨,居然都是意外死亡月弛,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門科盛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)帽衙,“玉大人,你說(shuō)我怎么就攤上這事贞绵±髀埽” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵但壮,是天一觀的道長(zhǎng)冀泻。 經(jīng)常有香客問(wèn)我,道長(zhǎng)蜡饵,這世上最難降的妖魔是什么弹渔? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮溯祸,結(jié)果婚禮上肢专,老公的妹妹穿的比我還像新娘。我一直安慰自己焦辅,他們只是感情好博杖,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著筷登,像睡著了一般剃根。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上前方,一...
    開(kāi)封第一講書(shū)人閱讀 48,970評(píng)論 1 284
  • 那天狈醉,我揣著相機(jī)與錄音,去河邊找鬼惠险。 笑死苗傅,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的班巩。 我是一名探鬼主播渣慕,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了逊桦?” 一聲冷哼從身側(cè)響起眨猎,我...
    開(kāi)封第一講書(shū)人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎强经,沒(méi)想到半個(gè)月后宵呛,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡夕凝,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了户秤。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片码秉。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖鸡号,靈堂內(nèi)的尸體忽然破棺而出转砖,到底是詐尸還是另有隱情,我是刑警寧澤鲸伴,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布府蔗,位于F島的核電站,受9級(jí)特大地震影響汞窗,放射性物質(zhì)發(fā)生泄漏姓赤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一仲吏、第九天 我趴在偏房一處隱蔽的房頂上張望不铆。 院中可真熱鬧,春花似錦裹唆、人聲如沸誓斥。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)劳坑。三九已至,卻和暖如春成畦,著一層夾襖步出監(jiān)牢的瞬間蛋辈,已是汗流浹背轻专。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人乞封。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像瑟蜈,于是被迫代替她去往敵國(guó)和親爽哎。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345