前言
作為一個剛?cè)胄胁痪玫牟锁B不知從什么時候開始就有了寫一個自己的專欄的想法,剛好今天沒事就給自己挖一個坑,分享一下我對vue的見解和一些領(lǐng)悟,整個專欄應(yīng)該會包括vue,vue-cli,vue-router,vuex,nuxt和一些webpack的簡單入門,當(dāng)然實(shí)戰(zhàn)項(xiàng)目也一定會放出來,更新頻率視手頭的項(xiàng)目進(jìn)度而定,話不多說,開始今天的第一篇專欄。
vue是什么?為什么我們要使用vue?
說到了vue,我們就不得不先聊一下vue是什么以及為什么我們要使用vue,他能給我們的開發(fā)帶來什么樣的便利呢?
首先,我們來看一下vue的自我介紹:
Vue (讀音 /vjuː/,類似于 view) 是一套用于構(gòu)建用戶界面的漸進(jìn)式框架。
請注意我加粗的這一點(diǎn),漸進(jìn)式框架是相比于Angular.js我最喜歡的一點(diǎn)(ps:絕對不是因?yàn)関ue的文檔寫的最好 :-) )
這意味著,vue是一個無論項(xiàng)目大小都可以滿足開發(fā)需求的框架。(想當(dāng)年我一次用vue-cli裝的項(xiàng)目只有幾十M,昨天從老大拷貝過來的src都已經(jīng)200M了……)
通俗的來講,vue就是一個已經(jīng)搭建好的空屋,與單純使用jQuery這種庫比,可以更好地實(shí)現(xiàn)代碼復(fù)用,減少工作量,與Angular.js這種家具電器一應(yīng)俱全的框架相比又不會一件件挑選,把自己不喜歡再一件件的扔了,甚至required 必須用且耗費(fèi)空間的!
簡而言之,vue做了必須的事,又不會做職責(zé)之外的事。
vue的MVVM設(shè)計模式是什么?MVC又是什么?
如果你對前端有過了解的話一定知道MVVM和MVC這兩種設(shè)計模式,而且很有可能對mvp也有一些了解。
MVC即model,view,control,jQuery就是采用的這種設(shè)計模式,熟悉jQuery的同學(xué)恐怕早就對$()深通惡絕了吧。
MVVM即model,view,viewmodel,它是數(shù)據(jù)驅(qū)動模式,即所有的一切通過操作數(shù)據(jù)來進(jìn)行,而盡量避免操作dom樹。
換句話說,我們不關(guān)注dom的結(jié)構(gòu),而是考慮數(shù)據(jù)該如何儲存,用戶的操作在view通過viewmodel進(jìn)行數(shù)據(jù)處理,分情況是否通過ajax與model層進(jìn)行交互,再返回到view層,在這個過程中view和viewmodel的數(shù)據(jù)雙向綁定使得我們完全的擺脫了對dom的繁瑣操作,而是專心于對用戶的操作進(jìn)行處理,避免了MVC中control層過厚的問題。
VUE組件化開發(fā)的優(yōu)點(diǎn)
說起來還是比較感慨的,剛開始接觸VUE的時候我對于他的組件還是并不喜歡的,什么父傳子,子不能傳父,什么占坑,傳參等等,完全是一頭霧水,并且感覺這些東西完全沒有必要。
后來的事實(shí)證明,作為整個VUE文檔中篇幅大的部分,組件可是相當(dāng)?shù)奶聿?,要不是有組件這么易于復(fù)用,不易污染的特性,怕不是我都瘋了無數(shù)回。
打個比方,我們現(xiàn)在要做一個有一百個頁面的項(xiàng)目,其中有三十三個導(dǎo)航欄是A,六十七個導(dǎo)航欄是B,這其中三十三個A導(dǎo)航欄中有一個模塊與眾不同,可以分為A1,A2,A3,A4……
這個如果用jQuery解決的話,就得自己封裝模板插件,且要么寫(A,B,A1,A2,An).length個模板,要么模板套模板。
嘖嘖,累死個狗娘養(yǎng)的了。
這點(diǎn)上,VUE的模板就簡單的多,我們先算好要多少個組件,然后看看組件之間有沒有相互嵌套,把所有需要的地方都先挖上坑(寫好組件標(biāo)簽),并且在組件標(biāo)簽中寫好要傳入組件的參數(shù),再分別寫好各種組件的實(shí)現(xiàn),簡簡單單的就寫好了,即使是嵌套也只是組件標(biāo)簽中套一個組件標(biāo)簽,更簡單的改一個傳參能夠?qū)崿F(xiàn)。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。
當(dāng)前題目:新手簡單了解vue-創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://jinyejixie.com/article20/dsspjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、服務(wù)器托管、ChatGPT、用戶體驗(yàn)、搜索引擎優(yōu)化、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容