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

Vue 概述及基本使用詳解

 更新時(shí)間:2025年10月28日 14:29:46   作者:墨鴉_Cormorant  
Vue是一套用于構(gòu)建用戶界面的漸進(jìn)式框架,與其它大型框架不同的是,Vue 被設(shè)計(jì)為可以自底向上逐層應(yīng)用,本文給大家介紹Vue 概述及基本使用,感興趣的朋友跟隨小編一起看看吧

概述

前端技術(shù)的發(fā)展

從靜態(tài)走向動(dòng)態(tài)

  • 早期的 HTML 作為靜態(tài)文件,即使只有部分內(nèi)容是需要變動(dòng)的,那么有多少種變動(dòng)的可能性,就需要準(zhǔn)備多少份文檔,這對(duì)開發(fā)者來說是非常不友好的,并且無法與用戶進(jìn)行交互。
  • CGI(Common Gateway Interface)的出現(xiàn)改善了這一情況。CGI 作為服務(wù)器拓展功能,可以從數(shù)據(jù)庫或者文件系統(tǒng)獲取數(shù)據(jù),再將數(shù)據(jù)渲染為 HTML 文檔后,返回至客戶端,從而實(shí)現(xiàn)了網(wǎng)頁的動(dòng)態(tài)生成。
  • CGI 出現(xiàn)的最大意義就是給當(dāng)時(shí)剛起步的 Web 提供了一個(gè)發(fā)展方向。在這之后,PHP、JSP、ASP 等各種服務(wù)端語言層出不窮,不僅彌補(bǔ)了 CGI 的缺陷,而且在性能上愈加高效,在開發(fā)上愈加簡捷。這些語言的出現(xiàn)和廣泛應(yīng)用,使得 Web 技術(shù)飛速發(fā)展,前端網(wǎng)頁從此從靜態(tài)走向動(dòng)態(tài)。這個(gè)時(shí)代被稱為 Web1.0 時(shí)代。

從后端走向前端

  • 在 Web1.0 時(shí)代,前后端是如何協(xié)作的呢?由于網(wǎng)頁是在服務(wù)端使用動(dòng)態(tài)腳本語言和模板引擎渲染出來的,所以一般由前端先寫模板,寫好后交付給后端套用,之后再由前后端聯(lián)調(diào),以確認(rèn)模板套用無誤。在這種開發(fā)環(huán)境下,前后端耦合密切,項(xiàng)目開發(fā)需要很高的溝通成本。
  • Ajax (Asynchronous JavaScript And XML,異步 JavaScript 和 XML) 通過 XMLHttpRequest 對(duì)象,可以在不重載頁面的情況下與 Web 服務(wù)器交換數(shù)據(jù),再加上 JavaScript 的 document 對(duì)象,開發(fā)者們可以很輕松地實(shí)現(xiàn)頁面局部內(nèi)容刷新。
  • 得益于 Ajax 的發(fā)展,前后端分離的趨勢日漸明顯,前端不再需要依賴后臺(tái)環(huán)境生存,所有服務(wù)器數(shù)據(jù)都可以通過異步交互來獲取。
  • 隨著 Google V8 引擎問世、PC 和移動(dòng)端設(shè)備性能提高、ES6 和 H5 日趨成熟,瀏覽器端的計(jì)算能力和功能性似乎愈加過剩,開發(fā)者們開始將越來越多的業(yè)務(wù)邏輯代碼遷移到前端,前端路由的概念也逐漸清晰。
  • 路由這個(gè)概念首先出現(xiàn)在后臺(tái)。傳統(tǒng) Web 網(wǎng)頁間的跳轉(zhuǎn),需要開發(fā)者先在后臺(tái)設(shè)置頁面的路由規(guī)則,之后服務(wù)器根據(jù)用戶的請(qǐng)求檢索路由規(guī)則列表,并返回相應(yīng)的頁面。
  • 而前端路由則是在瀏覽器端配置路由規(guī)則,通過偵聽瀏覽器地址的變化,異步加載和更新頁面內(nèi)容。
  • 可以這么說,Ajax 實(shí)現(xiàn)了無刷新的數(shù)據(jù)交互,前端路由則實(shí)現(xiàn)了無刷新的頁面跳轉(zhuǎn),Ajax 將 Web Page 發(fā)展成 Web App,而前端路由則給了 Web App 更多的可能,如 SPA(Single Page Application,單頁面應(yīng)用)。
  • 現(xiàn)在,很多 Web 項(xiàng)目采用這樣的架構(gòu),后臺(tái)只負(fù)責(zé)數(shù)據(jù)的存取和組裝,而前端則負(fù)責(zé)業(yè)務(wù)邏輯層和視圖層的全部工作。這一路走來,項(xiàng)目重心已從后端轉(zhuǎn)移到了前端。
  • Angular、 React、Vue等知名的前端框架都有前端路由的概念。

從前端走向全端

Node.js 誕生,Javascript 開始占據(jù)服務(wù)端編程語言的一席之地。前端工程師可以以很低的成本用 Node.js 和 MongoDB 搭建一個(gè)后臺(tái)。

從 MVC 到 MVVM

  • MVC:模型-視圖-控制器(Model-View-Controller)
    • MVC 需要前端開發(fā)人員從后端獲取需要的數(shù)據(jù)模型,然后要通過 DOM 操作 Model 渲染到 View 中。
    • 而后當(dāng)用戶操作視圖,還需要通過 DOM 獲取 View 中的數(shù)據(jù),然后同步到 Model 中。
    • Model 指業(yè)務(wù)模型,用于計(jì)算、校驗(yàn)、處理和提供數(shù)據(jù),不直接與用戶交互
    • View 視圖層是用戶能夠看到并進(jìn)行交互的客戶端界面
    • Controller 負(fù)責(zé)收集用戶輸入的數(shù)據(jù),向相關(guān)模型請(qǐng)求數(shù)據(jù)并返回響應(yīng)的視圖
  • MVVM:Model-View-ViewModel
    • MVVM 中的 VM 要做的事情就是把 DOM 操作完全封裝起來,通過數(shù)據(jù)綁定,可以將 View 和 ViewModel 關(guān)聯(lián)在一起:
    • 開發(fā)人員不用再關(guān)心 ViewModel 和 View 之間是如何互相影響的,可以從繁瑣的 DOM 操作中解放出來,把關(guān)注點(diǎn)放在如何操作 ViewModel 上。

只要 ViewModel 發(fā)生了改變,View 上自然就會(huì)表現(xiàn)出來

當(dāng)用戶修改了 View,ViewModel 中的數(shù)據(jù)也會(huì)跟著改變

? Vue.js 就是一套輕量級(jí)的 MVVM 框架。

MVVM(Model、View、ViewModel)

簡介

  • MVVM 是 vue 實(shí)現(xiàn)數(shù)據(jù)驅(qū)動(dòng)視圖和雙向數(shù)據(jù)綁定的核心原理。MVVM 指的是 Model、View 和 ViewModel
    • Model :表示當(dāng)前頁面渲染時(shí)所依賴的數(shù)據(jù)源。
    • View :表示當(dāng)前頁面所渲染的 DOM 結(jié)構(gòu)。
    • ViewModel :表示 vue 的實(shí)例,它是 MVVM 的核心。
  • MVVM 把每個(gè) HTML 頁面都拆分成了這三個(gè)部分,如圖所示:

MVVM 的工作原理

ViewModel 作為 MVVM 的核心,是把當(dāng)前頁面的數(shù)據(jù)源(Model)和頁面的結(jié)構(gòu)(View)連接在了一起。

  • 當(dāng)數(shù)據(jù)源發(fā)生變化時(shí),會(huì)被 ViewModel 監(jiān)聽到,VM 會(huì)根據(jù)最新的數(shù)據(jù)源自動(dòng)更新頁面的結(jié)構(gòu)
  • 當(dāng)表單元素的值發(fā)生變化時(shí),也會(huì)被 VM 監(jiān)聽到,VM 會(huì)把變化過后最新的值自動(dòng)同步到 Model 數(shù)據(jù)源中

vue 簡介

官方給出的概念:**Vue (讀音 /vju?/,類似于 view) 是一套用于構(gòu)建用戶界面的前端框架。**它基于標(biāo)準(zhǔn) HTML、CSS 和 JavaScript 構(gòu)建,并提供了一套聲明式的、組件化的編程模型,幫助開發(fā)者高效地開發(fā)用戶界面。

與其它大型框架不同的是,Vue 的核心庫只關(guān)注視圖層,不僅易于上手,還便于與第三方庫或既有項(xiàng)目整合。同時(shí),Vue 也完全有能力支持采用 SPA 設(shè)計(jì)和組合其他 Vue 生態(tài)的系統(tǒng)。

vue 的特性

主要體現(xiàn)在兩個(gè)方面:數(shù)據(jù)驅(qū)動(dòng)視圖、雙向數(shù)據(jù)綁定

  • 數(shù)據(jù)驅(qū)動(dòng)視圖
  • 在使用了 vue 的頁面中,vue 會(huì)監(jiān)聽數(shù)據(jù)的變化,從而自動(dòng)重新渲染頁面的結(jié)構(gòu)
    • 好處:當(dāng)頁面數(shù)據(jù)發(fā)生變化時(shí),頁面會(huì)自動(dòng)重新渲染!
    • 注意:數(shù)據(jù)驅(qū)動(dòng)視圖是單向的數(shù)據(jù)綁定。

  • 雙向數(shù)據(jù)綁定
    • 在填寫表單時(shí),雙向數(shù)據(jù)綁定可以輔助開發(fā)者在不操作 DOM 的前提下,自動(dòng)把用戶填寫的內(nèi)容同步到數(shù)據(jù)源中。
    • 好處:開發(fā)者不再需要手動(dòng)操作 DOM 元素,來獲取表單元素最新的值!

vue 的版本

當(dāng)前,vue 共有 3 個(gè)大版本,其中:

  • 3.x 版本的 vue 于 2020-09-19 發(fā)布,正在企業(yè)級(jí)項(xiàng)目開發(fā)中普及和推廣,是未來企業(yè)級(jí)項(xiàng)目開發(fā)的趨勢
  • 2.x 版本的 vue 是目前企業(yè)級(jí)項(xiàng)目開發(fā)中的主流版本,但會(huì)在未來幾年內(nèi)被逐漸淘汰;
  • 1.x 版本的 vue 幾乎被淘汰,不再建議學(xué)習(xí)與使用

Vue 項(xiàng)目結(jié)構(gòu)

├─node_modules	// 項(xiàng)目依賴的第三方包
├─public		// 靜態(tài)文件目錄
├───favicon.ico	// 瀏覽器小圖標(biāo)
├───index.html	// 單頁面的html文件
├─src			// 業(yè)務(wù)文件夾
├───assets		// 靜態(tài)資源目錄
├─────logo.png	// logo圖片
├───components	// 可重用組件目錄
├─────HelloWorld.vue	// 歡迎頁面vue代碼文件
├───router		// 路由目錄
├───store		// 數(shù)據(jù)共享目錄
├───views		// 視圖組件目錄
├───store		// 文件存儲(chǔ)目錄
├───api 		// 跟后臺(tái)交互,發(fā)送fetch、xhr請(qǐng)求,接收響應(yīng)目錄
├───plugins		// 插件目錄
├───App.js		// 整個(gè)應(yīng)用的根組件
├───main.js		// 入口js文件
├─.gitignore	// git提交忽略配置
├─babel.config.js	// babel配置
├─jsconfig.json
├─package.json	// 依賴包列表
├─vue.config.js

基本使用

基本使用步驟

<body>
	<!-- 2. 在頁面中聲明一個(gè)將要被 vue 所控制的 DOM 區(qū)域 -->
    <div id="app">{{ username }}</div>
    <!-- 1. 導(dǎo)入 vue.js 的 script 腳本 -->
    <script src="./lib/vue.js"></script>
    <script>
        // 3. 創(chuàng)建 vue 實(shí)例對(duì)象
    	const vm = new Vue({
            // 3.1 指定掛載的 DOM 區(qū)域
            el: '#app',
            // 3.2 指定 model 數(shù)據(jù)源
            data: {
                username: '張三'
            }
        })
    </script>
</body>
  1. 導(dǎo)入 vue.js 的 script 腳本文件
  2. 在頁面中聲明一個(gè)將要被 vue 所控制的 DOM 區(qū)域
  3. 創(chuàng)建 vm 實(shí)例對(duì)象(vue 實(shí)例對(duì)象)

基本代碼與 MVVM的對(duì)應(yīng)關(guān)系

到此這篇關(guān)于Vue 概述以及基本使用的文章就介紹到這了,更多相關(guān)vue 基本使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue實(shí)現(xiàn)密碼顯示隱藏功能的思路詳解

    vue實(shí)現(xiàn)密碼顯示隱藏功能的思路詳解

    這篇文章主要介紹了vue實(shí)現(xiàn)密碼顯示隱藏功能的思路詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Vue使用driver.js做引導(dǎo)頁

    Vue使用driver.js做引導(dǎo)頁

    Driver.js是一個(gè)功能強(qiáng)大且高度可定制的基于原生JavaScript開發(fā)的新用戶引導(dǎo)庫,本文主要介紹了Vue使用driver.js做引導(dǎo)頁,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • vue.js指令v-model實(shí)現(xiàn)方法

    vue.js指令v-model實(shí)現(xiàn)方法

    這篇文章主要為大家詳細(xì)介紹了vue.js指令v-model實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • 關(guān)于Vue3中的響應(yīng)式原理

    關(guān)于Vue3中的響應(yīng)式原理

    這篇文章主要介紹了關(guān)于Vue3中的響應(yīng)式原理,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Vue中插入HTML代碼的方法

    Vue中插入HTML代碼的方法

    這篇文章主要介紹了Vue中插入HTML代碼的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-09-09
  • vue實(shí)現(xiàn)計(jì)步器功能

    vue實(shí)現(xiàn)計(jì)步器功能

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)計(jì)步器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • vue移動(dòng)端判斷手指在屏幕滑動(dòng)方向

    vue移動(dòng)端判斷手指在屏幕滑動(dòng)方向

    這篇文章主要為大家詳細(xì)介紹了vue移動(dòng)端判斷手指在屏幕滑動(dòng)方向,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • vue項(xiàng)目中常用解決跨域的方法總結(jié)(CORS和Proxy)

    vue項(xiàng)目中常用解決跨域的方法總結(jié)(CORS和Proxy)

    在vue項(xiàng)目中,一般我們會(huì)遇到跨域的問題,vue項(xiàng)目中解決跨域是非常簡單的,下面這篇文章主要給大家介紹了關(guān)于vue項(xiàng)目中常用解決跨域的方法,主要解釋CROS和Proxy兩種方式,需要的朋友可以參考下
    2022-12-12
  • VUE中的無限循環(huán)代碼解析

    VUE中的無限循環(huán)代碼解析

    本文通過實(shí)例代碼給大家介紹了vue中的無限循環(huán),代碼簡單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧
    2017-09-09
  • 使用Vue與Firebase構(gòu)建實(shí)時(shí)聊天應(yīng)用的示例代碼

    使用Vue與Firebase構(gòu)建實(shí)時(shí)聊天應(yīng)用的示例代碼

    隨著互聯(lián)網(wǎng)通訊技術(shù)的不斷進(jìn)步,實(shí)時(shí)聊天應(yīng)用現(xiàn)在已成為我們?nèi)粘I钪胁豢苫蛉钡囊徊糠?無論是社交媒體平臺(tái)、工作溝通工具還是客戶支持系統(tǒng),實(shí)時(shí)聊天都在不斷被需求,今天,我們將介紹如何使用Vue.js與Firebase來構(gòu)建一個(gè)簡單而強(qiáng)大的實(shí)時(shí)聊天應(yīng)用,需要的朋友可以參考下
    2024-11-11

最新評(píng)論

禹州市| 宜兰市| 喀什市| 修文县| 油尖旺区| 宝鸡市| 巴里| 鄂温| 彰化县| 怀远县| 垦利县| 金堂县| 永靖县| 嵩明县| 堆龙德庆县| 襄垣县| 云林县| 景宁| 铜山县| 页游| 大埔县| 阿城市| 天长市| 白银市| 株洲市| 廊坊市| 庐江县| 萨迦县| 霍州市| 临沭县| 恭城| 长阳| 全椒县| 凤冈县| 叶城县| 泽普县| 高雄县| 乌苏市| 阿拉善左旗| 乡城县| 定西市|