麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 網站 > WEB開發 > 正文

快速上手Vue(適合懂基礎html、css和js的人)

2024-04-27 15:15:55
字體:
來源:轉載
供稿:網友

快速上手Vue

前述

1. 目標是通過本文,快速了解Vue的基本原理和使用它進行簡單的開發2. 只需要html、CSS、js基礎即可(原理涉及ES5,ES6,但對開發者來說不是必須要學的)3. 這是根據我內部分享的PPT改寫的

目錄

1. 概述2. 原理3. 快速上手4. 其他Vue常見功能5. 使用Vue寫一個大型頁面

1、概述

Vue的優點:

輕量——最小只需要17.14kb(Vue.js 2.0生產版本)—— jquery是87KB(3.1)95KB(1.12)易學——相比較React和Angular來說,學習曲線平緩易開發——支持熱加載(即修改源代碼后,無需刷新即可在頁面上看到效果)

使用Vue的項目:1. 天貓、餓了么、小米商城、途牛、蘇寧易購、微博頭條2. 其中某些使用了vue-native,也就是weex(比單純前端多了后端部分)

幾個典型特點:1.數據驅動 1. jQuery和常規mvc編程的核心思想是dom操作,先有dom然后再操作。 2. Vue的核心思想是數據驅動,dom是為了數據服務的,數據可以生成dom、控制dom2.生命周期 1. 創建時: 創建 → 綁定變量 → 掛載 → 模板編譯 → 插入頁面 2. 摧毀時: 摧毀前→摧毀后3、封裝 1. 在開發中,html、css、js共同組成一個Vue的組件; 2. 相同組件的多次復用,不同組件被組合成一個更大的Vue實例; 3. 上一級Vue實例不直接對下級Vue實例進行修改,而是通過接口; 4. 組件的三級:中間可以根據不同端來調用不同的組件。 * 整個網站 * 單個頁面 * 頁面的某個模塊(如登錄) 5. 因此Vue.js先天具有封裝、繼承的特性,這是面向對象編程的重要特點。4、單向/雙向綁定 單向:修改變量message的值,html里顯示的內容自動變化。 雙向:針對input標簽。 利用的是setter和getter(es5)特性![這里寫圖片描述](http://img.blog.csdn.net/20170208210413919?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXEyMDAwNDYwNA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

2、原理

項目結構: 這里寫圖片描述

開發環境 → 生產環境的過程:

這里寫圖片描述 內部實現原理:

這里寫圖片描述

###**3、快速上手**####**新建Vue實例**1、創建一個Vue實例: 先引入Vue.js文件,然后new一個Vue的實例即可。如下面的代碼,通過<script src="./vue.js"></script>引入,然后在<script>標簽中創建實例2、掛載 在Vue的實例里,通過傳遞的el屬性3、單向/雙向綁定 data屬性里的變量 = html標簽里的{{}} = input標簽里的v-model<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>DEMO</title> <script src="./vue.js"></script></head><body><div id="app"> <input v-model="test"/> {{test}}</div><script> new Vue({ //創建一個Vue的實例 el: "#app", //掛載點是id="app"的地方 data: { //數據 test: "abc" //變量test } })</script></body></html>

Vue實例解釋

將內容作為Vue實例的參數,創建的時候以對象的形式作為參數傳遞常見內容有:1. 變量被放在對象的data屬性中,類型是對象(有時候是函數,通過函數返回值獲取);2. 掛載點被放在el屬性中,類型是字符串;3. 方法被放在methodss屬性中,類型是對象;4. 創建時執行內容被放在created屬性中,類型是函數;5. 子組件被放在components屬性中,類型是對象

Dom控制

在使用jQuery的時候,我們需要手動添加dom、刪除dom,修改dom內容;在Vue的時候,我們需要更換思維方式,用變量去控制dom;具體而說:1. 單個dom的添加/刪除/顯示/隱藏——變量控制2. 多個在顯示上互斥的dom(如登錄時的提示)—— 用1個變量去控制3. 多個同類型dom(用v-for來動態生成)

示例頁面: http://www.jianwangsan.cn/ppt/dom%E6%93%8D%E4%BD%9C.html

代碼: https://github.com/QQ20004604/quickly-start-vuejs/blob/master/dom%E6%93%8D%E4%BD%9C.html

input相關

前端輸入內容大部分都是通過input標簽,Vue可以完美兼容。例如,微博的注冊頁面如下圖:

這里寫圖片描述

使用jQuery的情況下,流程如下: Dom→值→驗證→(正確)提交→(錯誤)顯示錯誤提示Dom

在Vue中,核心思想是數據驅動,因此,input標簽需要綁定的值直接和Vue實例里的變量雙向綁定起來。 當用戶輸入值的時候,對應的變量值跟著改變; 當檢測輸入是否符合規定,只需要直接檢測對應變量的值即可;

demo: http://www.jianwangsan.cn/ppt/input.html

代碼: https://github.com/qq20004604/quickly-start-vuejs/blob/master/input.html

表格

表格的核心特點是:類型重復的大量內容。Vue非常擅長對表格的處理,只需要已知數據,預先設置好格式,即可自動生成數據。常見表格需求是選擇性顯示(比如只顯示符合條件的項),這點Vue也十分擅長,你只需要設置好條件,Vue在渲染的時候會自動幫你完成。

demo: http://www.jianwangsan.cn/ppt/grid.html

代碼: https://github.com/qq20004604/quickly-start-vuejs/blob/master/grid.html

4、其他Vue常見功能

1、過濾器功能:

1. 主要用于文本轉換;2. 例如獲得一個日期對象后,通過過濾器命令自動轉為我們要求的日期格式。3. {{ message | capitalize }} message變量被過濾器函數capitalize所處理

2、計算屬性:

1. 更加高級的功能,可以視為過濾器功能的進階版,適用的方向更多(不僅僅是文本)2. 獲取一個變量(輸入內容)→通過計算函數轉換→顯示轉換結果(輸出內容)3. 當輸入內容變更時,輸出內容也會自動隨之變更4. 利用ES5的getter和setter特性來實現,有緩存特點

計算屬性的官網示例

這里寫圖片描述

3、$watch方法:

1. 監控變量,當變量改變時觸發回調函數;2. 例如之前的微博注冊demo中,通過檢測表示省份的變量的變化,來動態設置表示市的dom

4、class/style綁定:

1. 通過改變變量,來設置dom的樣式的類,或者直接設置樣式的屬性2. <div v-bind:class="{ active: isActive }"></div>3. isActive值為true時,dom獲得active這個類

5、事件監聽:

1. 通過$emit觸發事件和$on響應事件,只在當前Vue實例內有效,因此不會帶來干擾;2. 用起來非常舒服,適用于一對多和多對一的場景;3. 跨組件響應(父子組件通信)時,可以使用global event bus來實現,或者使用插件實現

6、路由功能:

1. 簡單來說,按需加載,而不是一次性全部加載;2. 有官方推薦支持使用的的vue-router庫;

5、使用Vue寫一個大型頁面

原則是,寫之前先從大往小拆分,搭好框架。

比如典型分拆有:header導航欄——main中間層——footer底部

寫的時候,從小往大組裝起來。

例如我寫的某個三級結構的demo的結構:

##頁面關系event-bus.js //全局事件(假如2個組件之間需要交互,則依靠這個),全局配置App.vue //根組件|---- main-top.vue //頂部導航欄|---- main-container.vue //用戶正常瀏覽區域|---- main-foot.vue //頁面底部|---- login.vue //登錄后臺頁面|---- news-manage.vue //新聞管理(后臺)| |---- news-create.vue //新建新聞(發送)| |---- news-delete.vue //刪除新聞||---- news-scan-list.vue //新聞列表|---- news-view.vue //新聞閱讀頁面|---- advice-post.vue //街辦信箱,用于提交意見|---- advice-scan.vue //top標簽的瀏覽反饋 |---- advice-scan-list.vue //查看反饋列表 |---- advice-scan-page.vue //查看反饋頁面(本頁面有反饋,管理員編輯反饋也在本頁面)

以微博頁面為例,用vue來拆分時如何來寫:

1、先截取微博的一部分圖,假設這個是二級組件(一級組件是根組件)

這里寫圖片描述 2、截取其header部分,作為三級組件

這里寫圖片描述

3、然后再單獨抽出來logo右邊的搜索框,作為四級組件,

logo歸屬于三級組件中,

其他四級組件有:

右邊的首頁、視頻那一排

這里寫圖片描述

4、四級組件里包含以下:

1. html:一個input,一段提示文字(可以作為input的placeholder也可以作為一個單獨的span),一個搜索圖標;2. css:相應的樣式,具體略;3. js:點擊響應事件等;4. 五級組件或者歸屬于本組件:輸入內容后,自動出現下拉提示框

這里寫圖片描述

全部拆分完成后,我們就可以從最下層開始,一個一個的寫功能點了,

然后再將其組裝起來,成為一個完整的vue項目


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产一区二区三区视频免费 | 久久久涩| 一本色道久久久888 香蕉视频99 | 成人午夜在线免费观看 | 精品国产一区二区三区四区阿崩 | 国产成人免费精品 | 99精品在线视频观看 | 在线成人免费av | 亚洲成人福利网站 | 日日碰日日操 | 久久久久久久久淑女av国产精品 | 夏目友人帐第七季第一集 | 成人福利视频 | 91美女啪啪 | 毛片视频播放 | www.99xxxx.com| 高清视频一区二区 | 国产精品久久久久久久久久iiiii | 一本一本久久a久久精品综合小说 | 国产精品久久久久久久久粉嫩 | 中文字幕视频在线播放 | 亚洲最大的成人网 | 久久影院一区二区三区 | 福利一区二区三区视频在线观看 | 一区二区三区国产在线 | 羞羞视频免费网站男男 | 毛片久久| 操碰视频在线观看 | 男女羞羞的视频 | 国产毛片毛片 | 日本成人高清视频 | 成人18免费观看 | 久久精品a一级国产免视看成人 | 免费久久久久久 | 激情小说激情电影 | 亚洲视频黄 | 欧美日韩亚洲国产精品 | 免费看成年人网站 | 国产免费午夜 | chinese中国真实乱对白 | 中国hdxxxx护士爽在线观看 |