最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

什么是Vue.js框架 為什么選擇它?(第一課)

 更新時(shí)間:2017年10月17日 14:29:35   作者:前端君  
Vue.js框架是什么,為什么要選擇它?這篇文章為大家介紹目前前端技術(shù)使用的趨勢(shì),以及Vue.js的優(yōu)點(diǎn)和適用場(chǎng)景等,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

“大白話,講編程”系列又回來(lái)了,這個(gè)系列我們一起學(xué)習(xí)的是Vue.js基礎(chǔ)知識(shí)。你沒(méi)看錯(cuò),是基礎(chǔ)知識(shí)。所以,哪怕你入行不久,相信你在的大白話風(fēng)格下,也能學(xué)會(huì)。

但還是希望你有開(kāi)發(fā)過(guò)html,css,javascript的項(xiàng)目經(jīng)驗(yàn),如果你連一點(diǎn)項(xiàng)目經(jīng)驗(yàn)都沒(méi)有,亦或者你早已掌握Vue.js的知識(shí),那么這個(gè)系列不適合你當(dāng)前的學(xué)習(xí)階段。

1 學(xué)習(xí)目標(biāo)

通過(guò)這一節(jié),你會(huì)學(xué)會(huì):

1.目前前端技術(shù)使用的趨勢(shì)

2.什么是MVVM

3.Vue.js的優(yōu)點(diǎn)

4.Vue.js的兩大核心

5.Vue.js的適用場(chǎng)景

2 誕生背景

近幾年來(lái),得益于手機(jī)設(shè)備的普及和性能的提升,移動(dòng)端的web需求大量增加,產(chǎn)生了一種叫webapp的東西,也就是移動(dòng)端的網(wǎng)頁(yè)應(yīng)用。

它們功能越來(lái)越復(fù)雜,交互也越來(lái)越酷炫,功能與效果越來(lái)越接近于原生的APP。比如下面這些:

(效果直逼原生APP)

這種webapp它們不僅僅像h5營(yíng)銷(xiāo)網(wǎng)頁(yè)一樣有酷炫的效果,它們還有復(fù)雜的點(diǎn)擊、輸入、下拉選擇,視圖切換等復(fù)雜的交互。在這樣的業(yè)務(wù)需求下,我們還是沿用PC端的開(kāi)發(fā)方案,難免會(huì)不太合適。比如:視圖切換。

在PC端,視圖切換我們會(huì)用<a>標(biāo)簽進(jìn)行頁(yè)面的跳轉(zhuǎn),但如果在移動(dòng)端,那就歇菜了,你會(huì)遇到這樣的畫(huà)面:

(等到花兒都謝了)

這個(gè)時(shí)候用戶只能等.....3秒,5秒,8秒.......很難想象,在一個(gè)需要頻繁切換視圖的webapp里面,使用<a>標(biāo)簽去實(shí)現(xiàn),對(duì)用戶來(lái)說(shuō)是很不友好的,換你你也不愿意等那么久,反正我是不愿意了....

此外,接收用戶輸入的同時(shí),很可能要及時(shí)更新視圖,比如用戶輸入不同的內(nèi)容,頁(yè)面就會(huì)相對(duì)應(yīng)進(jìn)行更新,點(diǎn)擊不同的選項(xiàng),就會(huì)顯示不同的狀態(tài)等等交互效果。一旦這種交互多了,你要手動(dòng)地進(jìn)行操作,代碼就容易變得復(fù)雜和難以維護(hù)。

為了解決webapp這些的體驗(yàn)和開(kāi)發(fā)上的不足,我們決定學(xué)習(xí)并使用一個(gè)MVVM框架——Vue.js

3 什么是MVVM

MVVM可以拆分成:View --- ViewModel --- Model三部分 ,看下面的視圖:

那么,我們?cè)趺蠢斫釳VVM呢?

上圖中,左側(cè)的View相當(dāng)于我們的DOM內(nèi)容,我們所看到的頁(yè)面視圖,右側(cè)的Model相當(dāng)于我們的數(shù)據(jù)對(duì)象,比如一個(gè)對(duì)象的信息:

{ 

name:"張三", 
age:21,

}

而中間的監(jiān)控者就負(fù)責(zé)監(jiān)控兩側(cè)的數(shù)據(jù),并相對(duì)應(yīng)地通知另一側(cè)進(jìn)行修改。比如:你在Model層中修改了name的值為:“李四”,那么View視圖層顯示的“張三”也會(huì)自動(dòng)變成了“李四”,而這個(gè)過(guò)程就是有ViewModel來(lái)操作的,不需要你手動(dòng)地去寫(xiě)代碼去實(shí)現(xiàn)(你不用再手動(dòng)操作DOM了)。

如果你寫(xiě)過(guò)復(fù)雜的DOM操作,你就可以感受到它帶來(lái)的便利。

這就是MVVM框架,屬于MVVM的JS框架除了Vue.js,還有React.js,Angular.js。

這里我們不去分析具體這3個(gè)框架哪個(gè)更好,關(guān)于技術(shù)選型,每個(gè)開(kāi)發(fā)團(tuán)隊(duì)的情況都不一樣,考慮的因素也不一樣,只要合適自己就好。這里我們只說(shuō)一下Vue.js的優(yōu)點(diǎn):

1.Vue.js更輕量更快

2.更容易上手,易學(xué)

4 Vue的核心

鋪墊了這么多,終于講到了Vue的核心。

那么,我們就來(lái)認(rèn)識(shí)一下Vue.js,這里摘取一段官網(wǎng)對(duì)它的介紹:

通過(guò)盡可能簡(jiǎn)單的API實(shí)現(xiàn)響應(yīng)的數(shù)據(jù)綁定和組合的視圖組件

這句話有兩個(gè)關(guān)鍵詞:數(shù)據(jù)綁定視圖組件。

Vue的數(shù)據(jù)驅(qū)動(dòng):數(shù)據(jù)改變驅(qū)動(dòng)了視圖的自動(dòng)更新,傳統(tǒng)的做法你得手動(dòng)改變DOM來(lái)改變視圖,vuejs只需要改變數(shù)據(jù),就會(huì)自動(dòng)改變視圖,一個(gè)字:爽。再也不用你去操心DOM的更新了,這就是MVVM思想的實(shí)現(xiàn)。

視圖組件化:把整一個(gè)網(wǎng)頁(yè)的拆分成一個(gè)個(gè)區(qū)塊,每個(gè)區(qū)塊我們可以看作成一個(gè)組件。網(wǎng)頁(yè)由多個(gè)組件拼接或者嵌套組成??聪聢D:

具體在開(kāi)發(fā)過(guò)程中怎樣實(shí)現(xiàn)一個(gè)組件,到底哪些區(qū)塊可以劃分成一個(gè)組件,后面的章節(jié)我們?cè)僖灰唤榻B,這里你只需要知道,在Vue.js中,網(wǎng)頁(yè)是可以看成多個(gè)組件組成的即可。

5 適用場(chǎng)景

如果你還在用jquery頻繁操作你的DOM來(lái)更新頁(yè)面的話,那么,你可以用Vue.js來(lái)解放你的DOM操作了。

如果你的項(xiàng)目中有多個(gè)部分是相同的,并可以封裝成一個(gè)組件,那么,你可以試試用Vue.js。

此外,Vue.js的核心實(shí)現(xiàn)中使用了ES5的Object.defineProperty特性,IE8及以下版本瀏覽器是不兼容的,所以,你的項(xiàng)目需要兼容這些較低版本的瀏覽器的話,那么,Vue.js就不適用了。

畢竟,開(kāi)發(fā)一個(gè)項(xiàng)目的目的不是為了使用某個(gè)框架。

6 本節(jié)小結(jié)

為了更好滿足當(dāng)前移動(dòng)webapp項(xiàng)目的開(kāi)發(fā)需求,MVVM框架誕生,而Vue.js便是這樣的一種js框架,其兩大核心:數(shù)據(jù)驅(qū)動(dòng)和組件化。

來(lái)源:公眾號(hào):web前端教程

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue拖拽改變寬度的實(shí)現(xiàn)示例

    vue拖拽改變寬度的實(shí)現(xiàn)示例

    本文主要介紹了vue拖拽改變寬度的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • vue3中defineEmits的使用舉例詳解

    vue3中defineEmits的使用舉例詳解

    這篇文章主要給大家介紹了關(guān)于vue3中defineEmits使用的相關(guān)資料,在Vue3中可以使用defineEmits函數(shù)來(lái)定義組件的自定義事件,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-08-08
  • vue組件學(xué)習(xí)教程

    vue組件學(xué)習(xí)教程

    這篇文章主要為大家詳細(xì)介紹了vue組件學(xué)習(xí)教程,根據(jù)Vue官方文檔學(xué)習(xí)的筆記,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • Vue指令指令大全

    Vue指令指令大全

    本文為大家介紹了VUE中內(nèi)置指令包括:v-text,v-html,v-show,v-if,v-else,v-else-if,v-for,v-on,v-bind,v-model,v-pre,v-cloak,v-once
    2019-02-02
  • Electron中打包應(yīng)用程序及相關(guān)報(bào)錯(cuò)問(wèn)題的解決

    Electron中打包應(yīng)用程序及相關(guān)報(bào)錯(cuò)問(wèn)題的解決

    這篇文章主要介紹了Electron中打包應(yīng)用程序及相關(guān)報(bào)錯(cuò)問(wèn)題的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • vue3+Typescript實(shí)現(xiàn)路由標(biāo)簽頁(yè)和面包屑功能

    vue3+Typescript實(shí)現(xiàn)路由標(biāo)簽頁(yè)和面包屑功能

    在使用 Vue.js 開(kāi)發(fā)后臺(tái)管理系統(tǒng)時(shí),經(jīng)常會(huì)遇到需要使用路由標(biāo)簽頁(yè)的場(chǎng)景,這篇文章主要介紹了vue3+Typescript實(shí)現(xiàn)路由標(biāo)簽頁(yè)和面包屑,需要的朋友可以參考下
    2023-05-05
  • Vue獲取DOM元素并修改屬性的方法

    Vue獲取DOM元素并修改屬性的方法

    這篇文章主要介紹了Vue獲取DOM元素并修改屬性或者樣式,文中通過(guò)兩種方法給大家介紹了vue 如何獲取并操作DOM元素,需要的朋友可以參考下
    2022-10-10
  • 一文詳解Vue中過(guò)濾器filters的使用

    一文詳解Vue中過(guò)濾器filters的使用

    Vue.js允許自定義過(guò)濾器,過(guò)濾器的作用可被用于一些常見(jiàn)的文本格式化(也就是修飾文本,但是文本內(nèi)容不會(huì)改變),本文主要來(lái)和大家講講過(guò)濾器filters的使用,感興趣的可以了解一下
    2023-04-04
  • vscode配置vue下的es6規(guī)范自動(dòng)格式化詳解

    vscode配置vue下的es6規(guī)范自動(dòng)格式化詳解

    這篇文章主要介紹了vscode配置vue下的es6規(guī)范自動(dòng)格式化詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-03-03
  • vue 2.1.3 實(shí)時(shí)顯示當(dāng)前時(shí)間,每秒更新的方法

    vue 2.1.3 實(shí)時(shí)顯示當(dāng)前時(shí)間,每秒更新的方法

    今天小編就為大家分享一篇vue 2.1.3 實(shí)時(shí)顯示當(dāng)前時(shí)間,每秒更新的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09

最新評(píng)論

资中县| 长治县| 静海县| 通江县| 红桥区| 玉环县| 万年县| 山东省| 小金县| 宜宾市| 开江县| 中方县| 万年县| 仪征市| 交口县| 特克斯县| 山东省| 扬中市| 沙河市| 两当县| 绥阳县| 新建县| 佳木斯市| 古浪县| 郴州市| 大庆市| 叶城县| 苍山县| 铁力市| 钟山县| 鄂伦春自治旗| 邯郸县| 牟定县| 阜新市| 田东县| 阜平县| 莲花县| 宜宾市| 治多县| 扶余县| 孝感市|