VUE超詳細入門

目錄

1.什么是 Vue.js

2.Vue.js 優點

Vue中的第一個hello world

Vue指令

?v-model

v-bind

v-on

v-if

v-show

v-for

Vue 實例生命周期

從傳統架構轉向單文件架構(通過組件拼接)

安裝element-ui使用


1.什么是 Vue.js

Vue (讀音 /vju ? /,類似于 view) 是一套用于構建用戶界面的漸進式框架。Vue
的核心庫只關注視圖層,不僅易于上手,還便于與第三方庫或既有項目整合。
Vue.js 是前端的主流框架之一,和 Angular.js、React.js 一起,并成為前端三
大主流框架!地址:https://v2.cn.vuejs.org/

2.Vue.js 優點

1.體積小 壓縮后 33K
2.更高的運行效率,用 JQuery 或者原生的 JavaScript DOM 操作函數對 DOM 進行頻繁操作的
時候,瀏覽器要不停的渲染新的 DOM 樹,導致頁面看起來非常卡頓。
基于虛擬 dom,一種可以預先通過 JavaScript 進行各種計算,把最終的
DOM 操作計算出來并優化的技術,最后在計算完畢才真正將 DOM 操作提交。
3.雙向數據綁定,簡化 Dom 操作
通過 MVVM 思想實現數據的雙向綁定,讓開發者不用再操作 dom 對象,
把更多的精力投入到業務邏輯上.
MVVM 是 Model-View-ViewModel 的簡寫。MVVM 就是將其中的 View 的
狀態和行為抽象化,讓我們將視圖 UI 和業務邏輯分開。
如圖如果使用dom來操作需要拿到文本框對象的值賦給上面div中的對象,反復的操作對象不利于我們寫業務邏輯,所以vue簡化了這一操作,不用再操作對象.
此圖就反映了mvvm思想,model就是data數據,dom就是標簽對象,vue框架實現了數據和標簽的雙向綁定,使data數據在改變時dom中的值也隨之改變,dom標簽中的值改變data數據也隨之改變

Vue中的第一個hello world

在vue官方中用這在線地址找到內容并保存。(這相當于一個vue的jar包)

在左側的js中將vue.js導入進去然后src引用官方中的第一hello world就實現了

接下來我們對這個hello world解析

{{}}插值表達式在vue中用來獲取data中的值,el和標簽綁定通過id獲取

Vue指令

指令帶有前綴 v- 開頭,以表示它們是 Vue 提供的特殊屬性。

如圖我們用插值表達式{{}} v-text v-html也都可以實現,那么它們有什么區別呢?

答:插值表達式會將msg1中的你好賦值給插值表達式{{}}后面的vue不產生影響

? ? ? ? 而v-text和v-html會將標簽<p>vue<p>中的vue覆蓋掉,(就是把你好放在了這個p標簽里)

v-text和{{}}都是拿到msg1文本然后賦值,而v-html還可以對這個msg1文本進行解析里面的標簽

?v-model

作用是便捷的設置和獲取表單元素的值
綁定的數據會和表單元素值相關聯
綁定的數據<---->表單元素的值 雙向數據綁定
這里先解釋一點: body標簽中需要一個最大的div標簽,這是因為div和這個vue.js用el綁定之后在這個最大的div里的子標簽都可以使用這個new Vue對象了(不直接在body上綁定是因為vue不允許)
再來看這個圖,邏輯是通過<input>文本框標簽通過 v-model實現了和msg的雙向數據綁定,更改文本框的值,這個data中的msg就會改變(在代碼中看不見),之后又通過<p>標簽使用插值表達式對msg進行雙向數據綁定。最終則會實現在文本框中打字,<p>標簽也會顯示出來。(總結:也就是說文本框和<p>對msg)

v-bind

對圖片的屬性進行雙向數據綁定

如圖中所示顯示一張圖片僅僅用src"地址"這樣會把src圖片寫死了,用v-bind可以綁定data中的img,通過改變data中的img從而改變圖片.(這里v-bind:可以簡寫成 :src默認使用(v-bind))

我們在改變前端一些樣式的時候也會用到

我們定義了一個.imgcss,然后可以用v-bind:class={imgcss:isActive},將isActive寫在data里設為true,則在使用時默認綁定的就是這個樣式,當不想用這個樣式時可以用按鈕添加事件將isActive改變為false

v-on

作用是為元素綁定事件
事件名不需要寫 on 指令可以簡寫為@(例如v-on:click和@click)
綁定的方法定義在 methods 屬性中,可以傳入自定義參數

這里強調一點:在methods方法中調用data中的數據必須要用this

v-if

作用是根據表達式的真假切換元素的顯示狀態
本質是通過操縱 dom 元素來切換
顯示狀態表達式的值為 true ,元素存在于 dom 中,為 false,從 dom 中移除

v-show

作用是根據真假切換元素的顯示狀態 原理是修改元素的 display,實現顯示隱藏 指令后面的內容,最終都會解析為布爾值
值為 true 元素顯示,值為 false 元素隱藏
數據改變之后,對應元素的顯示狀態會同步更新

這里強調一下:v-if和v-show的區別是前者在dom中如果為false直接移除,而后者則是display將其隱藏,總的來說頻繁的切換用v-show,反之使用 v-if,前者的切換消耗小。

v-for

v-for的使用更像是java中的增強for循環,每一個值用插值表達式輸出出來

對于一個表格來說前面的值可以為兩個一個為對象,一個為索引。

Vue 實例生命周期

每個 Vue 實例在被創建時都要經過一系列的初始化過程——例如,需要設置數
據監聽、編譯模板、將實例掛載到 DOM 并在數據變化時更新 DOM 等。同時
在這個過程中也會運行一些叫做 生命周期鉤子 的函數,這給了用戶在不同階段添
加自己的代碼的機會。 (new 了一個vue的對象之后,在這個運行過程中的一些函數例如java中的創建一個構造函數在創建時就初始化了一些東西)
鉤子函數和methods、data是平級的
運行后就可看到輸出到控制器中,所以我們在每一個時間段想要執行什么就在哪個函數里面寫。

從傳統架構轉向單文件架構(通過組件拼接)

什么是node?

  1. 服務器端 JavaScript:Node.js 讓 JavaScript 可以在服務器端運行,這樣開發者可以使用同一種語言(JavaScript)來編寫前端和后端代碼,實現全棧開發。

  2. 事件驅動和非阻塞I/O模型:Node.js 是基于事件驅動和非阻塞I/O 的模型,這使得它能夠處理大量并發連接,非常適合構建高性能、可伸縮的網絡應用。

  3. 模塊化:Node.js 支持 CommonJS 規范的模塊系統,使得代碼可以以模塊的形式組織、管理和重用。

  4. 包管理器 npmNode.js 自帶 npm(Node Package Manager),是世界上最大的開源庫生態系統,開發者可以通過 npm 輕松地安裝、分享和管理 JavaScript 包和依賴項。

  5. 文件操作:Node.js 提供了豐富的文件操作 API,使得開發者可以輕松地對文件進行讀取、寫入和操作。

  6. 跨平臺:Node.js 可以運行在多種操作系統上,包括 Windows、Mac OS 和各種 Linux 發行版,具有較高的可移植性。

  7. 構建工具和任務自動化:由于 Node.js 生態系統豐富,開發者可以使用各種構建工具和任務自動化工具(如 Gulp、Webpack 等)來簡化開發流程、優化代碼和資源管理。

??類似與java中的maven

需要的環境
Node.js(沒有node環境創建不了vue項目)
簡單的說 Node.js 是一個前端 js 運行環境 或者說是一個 JS 語言解釋器
npm
npm 是 Node.js 的包管理工具,用來安裝各種 Node.js 的擴展。npm 是
JavaScript 的包管理工具,也是世界上最大的軟件注冊表。有超過 60 萬個
JavaScript 代碼包可供下載。npm 讓 JavaScript 開發人員可以輕松地使用
其他開發人員共享的代碼。
組件路由
vue router 是 Vue.js 官方的路由管理器。它和 Vue.js 的核心深度集成,讓構建
單頁面應用變得易如反掌。( 我們在沒有組件路由之前網站上訪問不了vue組件 )
安裝
vue-router 是一個插件包,所以我們還是需要用 npm 來進行安裝的。 打開命令行工具,進入你的項目目錄,輸入下面命令。
npm i vue-router@3.5.3
安裝成功之后,我們創建一個router包里面放一個js文件,先必須導入再包中導入router和Vue,之后再導入我們需要的組件, Vue.use(router) 的作用是在 Vue.js 應用中安裝并注冊 Vue Router,使得我們可以在應用中使用 Vue Router 提供的各種路由功能和組件。path就是我們配置的網站可以訪問到的路徑,最后導出這個rout對象(雖然默認訪問的是App組件但是通過路由配置路徑'/'即可在什么也沒有時訪問到index組件)
最后我們需要再main.js中配置到Vue對象中去.這短main.js代碼解析: 先導入庫Vue再導入了app組件,再導入了我們組建的路由配置,創建了一個vue對象初始化了router路由,并對App組件作為入口訪問.在App.vue中創建一個router-view就可顯示所有的vue組件
在index頁面中訪問其他組件就不是使用超鏈接了而是使用如圖中所示<router-link to="/login">的方式。

安裝element-ui使用

在命令行中下載即可npm i element-ui -S

并在main.js中配置即可,在element-ui官網就可使用它的組件

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/43343.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/43343.shtml
英文地址,請注明出處:http://en.pswp.cn/web/43343.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

GPT-5要來了?我的博士生“AI朋友”!

GPT-5 一年半后發布&#xff1f;對此你有何期待&#xff1f; IT之家6月22日消息&#xff0c;在美國達特茅斯工程學院周四公布的采訪中&#xff0c;OpenAI首席技術官米拉穆拉蒂被問及GPT-5是否會在明年發布&#xff0c;給出了肯定答案并表示將在一年半后發布。此外&#xff0c;…

Vue2-動畫

1.transition過渡 過渡組件&#xff1a;進入/離開 & 列表過渡 — Vue.js [用transition做CSS動畫]Enter狀態&#xff1a;JS Bin - Collaborative JavaScript Debugging Leave狀態&#xff1a;JS Bin - Collaborative JavaScript Debugging 2. animation動畫 用animation做…

ABAP:會計憑證批量導入(資產數據,獲利能力段)

會計憑證導入會涉及到總賬、客戶、供應商、金額 、自定義字段增強、獲利能力段 *&---------------------------------------------------------------------* *& Report ZFIE014 *&---------------------------------------------------------------------* *&…

關于數組的常見算法

一、案例一 案例說明 案例&#xff1a;定義一個int型的一維數組&#xff0c;包含10個元素&#xff0c;分別賦一些隨機整數&#xff0c;然后求出所有元素的最大值&#xff0c;最小值&#xff0c;總和&#xff0c;平均值&#xff0c;并輸出出來 要求&#xff1a;所有隨機數都是兩…

5-3.損失函數

文章最前&#xff1a; 我是Octopus&#xff0c;這個名字來源于我的中文名–章魚&#xff1b;我熱愛編程、熱愛算法、熱愛開源。所有源碼在我的個人github &#xff1b;這博客是記錄我學習的點點滴滴&#xff0c;如果您對 Python、Java、AI、算法有興趣&#xff0c;可以關注我的…

Nginx -Web服務器/反向代理/負載均衡

文章目錄 一、web服務1.1 nginx安裝1.2 配置文件1.3 Nginx處理Web機制 二、反向代理三、負載均衡3.1 分類3.2 負載相關配置文件3.3 keepalive 提高吞吐量3.4 配置瀏覽器緩存 附、JMeter性能測試工具 以賽促學內容,大概率感覺會使用nginx做web服務,特對nginx做總結歸納. Nginx是…

(7.10)Java面向對象有關知識點思考

1、繼承中要關注如何訪問父類中的方法&#xff0c;其中有傳遞一個隱藏的形參this&#xff0c;及當前對象的地址&#xff0c;通過它調用方法沒有問題。 2、抽象時對繼承關系的一種優化&#xff1a; ①父類中的方法可以沒有方法體&#xff1b; ②子類必須按照規定重寫抽象方法…

【性能工程 - eBPF 技術】小白也能學會的 eBPF 技術——初步了解 eBPF 技術(一)

eBPF&#xff0c;即擴展的伯克利包過濾器&#xff08;Extended Berkeley Packet Filter&#xff09;&#xff0c;是從早期的BPF技術發展而來&#xff0c;起初用于高效地過濾網絡數據包。隨著時間的推移&#xff0c;eBPF已經成為一個強大的、靈活的內核技術&#xff0c;不僅限于…

echart5.5.1版本,倒三角柱狀圖

加載方法 initChart1(title, id, tag) {var myChart echarts5.init(this.$refs[id]);const _this this;var option {title:{text: title||"",show: title?true:false,top: 24,left: 24},grid:{left: 54,top: 74,bottom: 44,right: 30,},xAxis: {type: category,d…

【Spring成神之路】老兄,來一杯Spring AOP源碼嗎?

文章目錄 一、引言二、Spring AOP的使用三、Spring AOP的組件3.1 Pointcut源碼3.2 Advice源碼3.3 Advisor源碼3.4 Aspect源碼 四、Spring AOP源碼刨析4.1 configureAutoProxyCreator源碼解析4.2 parsePointcut源碼解析4.3 parseAdvisor源碼解析4.4 parseAspect源碼解析4.5 小總…

電腦缺少dll文件是怎么回事?教你5種有效的解決方法

當您的計算機顯示DLL文件已經遺失時&#xff0c;您應如何應對呢&#xff1f;實際上&#xff0c;針對此類DLL文件的處置過程相對來說較為簡易。今日&#xff0c;我們在此為大家詳細介紹此領域的相關知識&#xff0c;讓大家輕松解決電腦中因丟失DLL文件而產生的問題。 一、關于DL…

案例開發-日程管理-第一期

九 案例開發-日程管理-第一期 共7期 9.1 登錄頁及校驗 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><style>.ht{text-align: center;color: cadetblue;font-family: 幼…

MVC 生成驗證碼

在mvc 出現之前 生成驗證碼思路 在一個html頁面上&#xff0c;生成一個驗證碼&#xff0c;在把這個頁面嵌入到需要驗證碼的頁面中。 JS生成驗證碼 <script type"text/javascript">jQuery(function ($) {/**生成一個隨機數**/function randomNum(min, max) {…

Python占位符匯總

# f-string (重點掌握) 3.6版本之后才有的 name "杰倫" print(大家好&#xff0c;我是杰倫) print(大家好&#xff0c;我是, name, sep) # 可以但不推薦 name "杰倫" age 45 salary 1.4567 print(大家好&#xff0c;我是杰倫&#xff0c;我今年45&a…

《妃夢千年》第三十章:意外的來信

第三十章&#xff1a;意外的來信 林清婉在皇宮中的地位穩固后&#xff0c;生活似乎又回歸了平靜。然而&#xff0c;這種平靜并沒有持續多久。一天早晨&#xff0c;她收到了一個意外的來信&#xff0c;信封上沒有署名&#xff0c;但她一眼就認出了那熟悉的筆跡——這是她已故父…

RedHat Linux8 修改root管理員賬戶密碼命令

RedHat Linux8 修改root管理員賬戶密碼命令&#xff1a; sudo passwd root RedHat重置root管理員密碼&#xff1a; 1. 查看Linux系統版本信息 cat /etc/redhat-release2. 重置密碼 2.1 進入內核編輯界面 重啟Linux系統并出現引導界面&#xff0c;按下鍵盤上的e鍵進入內…

Prometheus+Grafana主機運行數據

目錄 介紹 安裝Node Exporter 配置Prometheus 驗證配置 導入儀表盤 介紹 Prometheus是一款開源的監控和警報工具&#xff0c;而Node Exporter是Prometheus的一個官方插件&#xff0c;用于采集主機上的各種系統和硬件指標。 安裝Node Exporter 下載最新版本的Node Export…

【AI大模型】ChatGPT-4 對比 ChatGPT-3.5:有哪些優勢

引言 ChatGPT4相比于ChatGPT3.5,有著諸多不可比擬的優勢&#xff0c;比如圖片生成、圖片內容解析、GPTS開發、更智能的語言理解能力等&#xff0c;但是在國內使用GPT4存在網絡及充值障礙等問題&#xff0c;如果您對ChatGPT4.0感興趣&#xff0c;可以私信博主為您解決賬號和環境…

FLinkCDC引起的生產事故(二)

背景&#xff1a; 最近在做實時數據的抽取工作&#xff0c;利用FLinkCDC實時抽取目標庫Oracle的數據到Doris中&#xff0c;但是在抽取的過程中&#xff0c;會導致目標庫的生產庫數據庫非常卡頓&#xff0c;為了避免對生產環境的數據庫造成影響&#xff0c;對生產環境的數據庫利…

谷歌優化的坑與甜:方法策略決定成敗,并非難易程度

對于谷歌優化&#xff0c;本人頗為惱火。眾所周知&#xff0c;我們開設網站旨在吸引眾多訪客&#xff0c;然谷歌這位傲慢的“高嶺之花”&#xff0c;卻令我們煞費苦心。有位友人為提升其網站排名&#xff0c;不惜耗盡心血&#xff0c;然而成效甚微&#xff0c;猶如坐過山車般起…