Vue前端+快速入門【詳解】

目錄

1.Vue概述

2. 快速入門

3. Vue指令

4.表格信息案例? ??

5. 生命周期


1.Vue概述

????????1.MVVM思想

????????原始HTML+CSS+JavaScript開發存在的問題:操作麻煩,耦合性強

????????為了實現html標簽與數據的解耦,前端開發中提供了MVVM思想:即Model-View-ViewModel:

  • Model: 數據模型,指要展示到頁面上的數據。在web開發中通常從服務端獲取到數據,再把這些數據展示出來

  • View: 視圖,用于展示數據的各種html標簽

  • ViewModel: 視圖模型控制中心,負責把Model數據顯示到View里,也負責從View里收集數據到Model里。Vue框架就承擔了這個角色

????????2.Vue框架簡介

????????????????Vue.js(讀音 /vju?/, 類似于 view) 是一套構建用戶界面的 漸進式框架,它實現了MVVM思想 ? ??????

????????????????Vue.js 的目標是通過盡可能簡單的 API 實現響應的數據綁定組合的視圖組件

????????????????框架即是一個半成品軟件,是一套可重用的、通用的、軟件基礎代碼模型。基于框架進行開發,更加快捷、更加高效。

2. 快速入門

? ? ? ? 1.開發步驟:

? ? ? ? ? ? ? ? 1.編寫html頁面,引入vue框架的js類庫

? ? ? ? ? ? ? ? 2.在html頁面里,使用Vue 把"hello vue"到頁面上

????????

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Vue-快速入門</title></head>
<body><div id="app"><!-- 使用插值表達式,把數據區域里message的數據插入進來 -->{{message}}</div>
</body>
<script src="js/vue.js"></script>    
<script>//定義Vue對象new Vue({//vue接管id為app的標簽區域el: "#app", //數據區域,就是MVVM里的Modeldata:{message: "Hello Vue"},//方法區域,Vue里用到的所有方法都要寫到這里,否則調用不到methods:{}})
</script>
</html>

3. Vue指令

????????指令:HTML 標簽上帶有 v- 前綴的特殊屬性,不同指令具有不同功能作用。

????????

? ? ? ? 1.v-bind和v-model:?

? ??

v-bind使用示例:

????????

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>v-bind</title>
</head>
<body><div id="app"><!-- v-bind:用于把數據區域里的數據,綁定到 html標簽的屬性上語法:完整寫法:  v-bind:屬性名="數據名"簡單寫法:        :屬性名="數據名"單向綁定:數據區域 ===> 頁面視圖(標簽的屬性上)--><a v-bind:href="siteUrl">{{siteTitle}}</a> <br><a :href="siteUrl">{{siteTitle}}</a></div><script src="./js/vue.js"></script><script>new Vue({el: "#app",data: {siteUrl: "http://www.baidu.com",siteTitle: "百度"},methods:{}});</script>
</body>
</html>

v-model使用示例

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>v-model</title>
</head>
<body><div id="app"><!-- v-model:用于實現 數據區域 和 頁面上表單項的 雙向綁定。注意:僅適用于表單項,input, select, textarea語法: v-model="數據名稱"效果:數據區域 ==> 頁面表單項上: 數據區域里的數據變化,頁面表單項上會隨之變化頁面表單項上 ==> 數據區域: 在頁面上輸入了表單項的數據,數據區域也會隨之變化-->帳號:<input type="text" v-model="username"> <br>性別:<input type="radio" name="gender" value="male" v-model="sex">男<input type="radio" name="gender" value="female" v-model="sex">女  <br>數據區域里值:{{username}} , {{sex}}</div><script src="./js/vue.js"></script><script>new Vue({el: "#app",data: {username: "tom",sex: "male"},methods:{}});</script>
</body>
</html>

????????2.? v-on

????????v-on: 用來給html標簽綁定事件。

????????????????完整寫法:v-on:事件名="函數名(實參列表)"

????????????????簡寫形式:@事件名="函數名(實參列表)"

????????注意事項:

????????????????v-on語法給標簽的事件綁定的函數,必須在Vue的方法區域中

????????????????v-on語法綁定事件時,事件名不寫on。例如:onclick=""在vue里寫成v-on:click=""

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Vue-指令-v-on</title><script src="js/vue.js"></script>
</head>
<body><div id="app"><input type="button" value="點我一下" v-on:click="handle()"><input type="button" value="點我一下" @click="handle()"></div>
</body>
<script>//定義Vue對象new Vue({el: "#app", //vue接管區域data:{},methods: {handle: function(){alert("你點我了一下...");}}})
</script>
</html>

????????3.v-if和v-show

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Vue-指令-v-if與v-show</title><script src="js/vue.js"></script>
</head>
<body><div id="app">年齡<input type="text" v-model="age">經判定,為:<span v-if="age <= 35">年輕人(35及以下)</span><span v-else-if="age > 35 && age < 60">中年人(35-60)</span><span v-else>老年人(60及以上)</span><br><br>年齡<input type="text" v-model="age">經判定,為:<span v-show="age <= 35">年輕人(35及以下)</span><span v-show="age > 35 && age < 60">中年人(35-60)</span><span v-show="age >= 60">老年人(60及以上)</span></div>
</body>
<script>//定義Vue對象new Vue({el: "#app", //vue接管區域data:{age: 20},methods: {}})
</script>
</html>

? ? ?????????4.v-for

????????????????v-for: 從名字我們就能看出,這個指令是用來遍歷的。注意:需要循環哪個標簽,v-for 指令就寫在哪個標簽上。

? ? ? ? ? ? ? ? 完整語法:

????????????????<標簽 v-for="(變量名,索引變量) in 集合模型數據">
? ? ????????????????<!--索引變量是從0開始,所以要表示序號的話,需要手動的加1-->
? ?????????????????{{索引變量 + 1}} {{變量名}}
????????????????</標簽>

? ? ? ? ? ? ? ? 簡寫形式:

????????????????<標簽 v-for="變量名 in 集合模型數據">
? ? ????????????????{{變量名}}
????????????????</標簽>

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Vue-指令-v-for</title><script src="js/vue.js"></script>
</head>
<body><div id="app"><div v-for="addr in addrs">{{addr}}</div><hr><div v-for="(addr,index) in addrs">{{index + 1}} : {{addr}}</div></div>
</body>
<script>//定義Vue對象new Vue({el: "#app", //vue接管區域data:{addrs:["北京", "上海", "西安", "成都", "深圳"]},methods: {}})
</script>
</html>

? ?4.表格信息案例? ??

????????

步驟:

  • 使用v-for的帶索引方式添加到表格的<tr>標簽上

  • 使用{{}}插值表達式展示內容到單元格

  • 使用索引+1來作為編號

  • 使用v-if來判斷,改變性別和等級這2列的值

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Vue-指令-案例</title><script src="js/vue.js"></script>
</head>
<body><div id="app"><table border="1" cellspacing="0" width="60%"><tr><th>編號</th><th>姓名</th><th>年齡</th><th>性別</th><th>成績</th><th>等級</th></tr><tr align="center" v-for="(user,index) in users"><td>{{index + 1}}</td><td>{{user.name}}</td><td>{{user.age}}</td><td><span v-if="user.gender == 1">男</span><span v-if="user.gender == 2">女</span></td><td>{{user.score}}</td><td><span v-if="user.score >= 85">優秀</span><span v-else-if="user.score >= 60">及格</span><span style="color: red;" v-else>不及格</span></td></tr></table></div></body><script>new Vue({el: "#app",data: {users: [{name: "Tom",age: 20,gender: 1,score: 78},{name: "Rose",age: 18,gender: 2,score: 86},{name: "Jerry",age: 26,gender: 1,score: 90},{name: "Tony",age: 30,gender: 1,score: 52}]},methods: {},})
</script>
</html>

5. 生命周期

????????vue的生命周期:指的是vue對象從創建到銷毀的過程。vue的生命周期包含8個階段:每觸發一個生命周期事件,會自動執行一個生命周期方法,這些生命周期方法也被稱為鉤子方法

mounted:掛載完成,Vue初始化成功,HTML頁面渲染成功。以后我們一般用于頁面初始化自動的ajax請求后臺數據

編寫mounted聲明周期的鉤子函數,與methods同級

<script>//定義Vue對象new Vue({el: "#app", //vue接管區域data:{},methods: {},mounted () {alert("vue掛載完成,發送請求到服務端")}})
</script>

? ? ?

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

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

相關文章

Mysql-主從架構篇(一主多從,半同步案例搭建)

主從架構 主從架構有什么用&#xff1f; 通過搭建MySQL主從集群&#xff0c;可以緩解MySQL的數據存儲以及訪問的壓力。 數據安全&#xff08;主備&#xff09;&#xff1a;給主服務增加一個數據備份。基于這個目的&#xff0c;可以搭建主從架構&#xff0c;或者也可以基于主…

GO語言學習筆記(與Java的比較學習)(九)

讀寫數據 讀取用戶的輸入 最簡單的辦法是使用 fmt 包提供的 Scan 和 Sscan 開頭的函數。 Scanln 掃描來自標準輸入的文本&#xff0c;將空格分隔的值依次存放到后續的參數內&#xff0c;直到碰到換行。Scanf 與其類似&#xff0c;除了 Scanf 的第一個參數用作格式字符串&…

大數據開發(Java面試真題-卷三)

大數據開發&#xff08;Java面試真題&#xff09; 1、簡要介紹以下JVM有幾種垃圾收集器&#xff1f;2、Java中Synchronized的底層原理是什么&#xff1f;3、Java String為什么是不可變的&#xff1f;為什么要設計成不可變&#xff1f;4、泛型&#xff1f;5、常用的反射方法&…

深入Java日志框架及其最佳實踐

概述 在Java應用開發中&#xff0c;日志框架是確保應用穩定性和可觀察性的關鍵組件。它幫助開發者記錄應用的行為、診斷問題&#xff0c;并監控系統的健康狀況。隨著Java生態系統的不斷發展&#xff0c;各種日志框架也應運而生&#xff0c;各有特點和優勢。本文將詳細探討幾個…

redis進階(一)

文章目錄 前言一、Redis中的對象的結構體如下&#xff1a;二、壓縮鏈表三、跳躍表 前言 Redis是一種key/value型數據庫&#xff0c;其中&#xff0c;每個key和value都是使用對象表示的。 一、Redis中的對象的結構體如下&#xff1a; /** Redis 對象*/ typedef struct redisO…

c# .net8 香橙派orangepi + hc-04藍牙 實例

這些使用c# .net8開發&#xff0c;硬件 香橙派 orangepi 3lts和 hc-04藍牙 使用場景&#xff1a;可以通過這個功能&#xff0c;手機連接orangepi進行wifi等參數配置 硬件&#xff1a; 1、帶USB口的linux開發板orangepi 2、USB 轉TTL 中轉接藍牙&#xff08;HC-04) 某寶上買…

Vue的響應式原理是如何實現的

Vue的響應式原理主要**基于JavaScript的Object.defineProperty方法實現**。具體如下&#xff1a; 1. 數據劫持&#xff08;Data Hijacking&#xff09; Vue在初始化時&#xff0c;會遍歷data對象中的所有屬性&#xff0c;并使用Object.defineProperty將這些屬性轉換為getter/s…

Flink:Temporal Table Function(時態表函數)和 Temporal Join

博主歷時三年精心創作的《大數據平臺架構與原型實現&#xff1a;數據中臺建設實戰》一書現已由知名IT圖書品牌電子工業出版社博文視點出版發行&#xff0c;點擊《重磅推薦&#xff1a;建大數據平臺太難了&#xff01;給我發個工程原型吧&#xff01;》了解圖書詳情&#xff0c;…

AR時間序列模型

AR時間序列模型&#xff08;AutoRegressive Time Series Model&#xff09;是一種用于分析和預測時間序列數據的統計模型。該模型假設未來的觀測值與過去的觀測值相關&#xff0c;且該相關性可以通過線性回歸來描述。 AR模型的基本思想是將當前時刻的觀測值表示為過去幾個時刻…

設計模式(十五)狀態模式

請直接看原文:設計模式系列 ------------------------------------------------------------------------------------------------------------------------------- 前言 建議在閱讀本文前先閱讀設計模式&#xff08;十一&#xff09;策略模式這篇文章&#xff0c;雖說狀態…

java.sqlrecoverableexception: io error: the network adapter could not establ

數據庫相關學習資料下載地址&#xff1a; 數據庫相關資料合集 Java SQLRecoverableException: IO Error: The Network Adapter Could Not Establish Connection 在進行Java開發中&#xff0c;經常會遇到與數據庫進行交互的情況。然而&#xff0c;有時候我們可能會遇到java.sq…

Redis過期刪除策略

1、定時刪除&#xff1a; 一旦鍵過期就立即從內存中刪除&#xff0c;節省內存空間&#xff0c;但刪除過程會占用大量CPU時間&#xff0c;可能影響服務器的響應時間和吞吐量。 2、惰性刪除&#xff1a; 并不會立即從內存中刪除過期鍵&#xff0c;而是在需要訪問時才會檢查是否…

【MATLAB】MVMD_ MFE_SVM_LSTM 神經網絡時序預測算法

有意向獲取代碼&#xff0c;請轉文末觀看代碼獲取方式~也可轉原文鏈接獲取~ 1 基本定義 MVMD_MFE_SVM_LSTM神經網絡時序預測算法結合了多變量多尺度分解&#xff08;MVMD&#xff09;、多尺度特征提取&#xff08;MFE&#xff09;、支持向量機&#xff08;SVM&#xff09;和長…

Python爬蟲之爬取并下載嗶哩嗶哩視頻

親自使用過&#xff0c;太好用了 # 導入requests模塊&#xff0c;模擬發送請求 import requests # 導入json import json # 導入re import re# 定義請求頭 headers {Accept: */*,Accept-Language: en-US,en;q0.5,User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6…

小米消息隊列的選型與實踐

之前寫了一篇關于消息隊列的文章&#xff1a;《消息隊列介紹與對比》&#xff0c;本文主要介紹消息隊列在實際工作中的使用情況&#xff08;截止到2023年&#xff0c;因為我2023年離職了&#xff0c;后續的情況不了解了&#xff0c;哈哈&#xff09;。 市面上的多種消息隊列都有…

node問題: command not found: nodemon

如何安裝并使用 nodemon npm i -g nodemon 問題與解決方案&#xff1a; 問題&#xff1a;zsh: command not found: nodemon 解決方案&#xff1a; 在你的 package.json 中加入&#xff1a; "scripts": {"auto": "npx nodemon server.js" }…

單例模式及應用場景

如果希望自己的代碼更優雅、可維護性更高以及更簡潔&#xff0c;往往離不開設計模式這一解決方案。 在JS設計模式中&#xff0c;最核心的思想&#xff1a;封裝變化&#xff08;將變與不變分離&#xff0c;確保變化的部分靈活&#xff0c;不變的部分穩定&#xff09;。 那么來…

[嵌入式系統-36]:龍芯1B 開發學習套件 -5- PMON常見命令

目錄 0. 開機時按c鍵進入pmon模式 &#xff08;自啟動模式時&#xff09; 1、幫助命令 h 2、顯示設備信息 devls 3.重啟&#xff1a;reboot 4、設置環境變量 set/unset 5.查詢環境變量&#xff1a;env 6.網絡設置相關命令&#xff1a; ①設置IP&#xff1a;ifconfig&am…

Linux 基礎IO(1)內存文件

文章目錄 鋪墊文件的系統調用接口文件描述符緩沖區 鋪墊 文件文件內容 文件屬性訪問文件之前&#xff0c;都要先打開文件&#xff0c;而要訪問&#xff0c;修改&#xff0c;編輯文件&#xff0c;文件就必須加載到內存中程序運行起來變成進程&#xff0c;被CPU調度&#xff0c;…

詳解Win 7重置電腦操作步驟

文章目錄 介紹Win 7 重置系統的方法&#xff1a;1.按下鍵盤上的Windows鍵和R鍵&#xff0c;打開運行窗口&#xff0c;輸入sysprep 點擊回車確定。2.之后就會出現如下界面&#xff0c;在這個新打開的窗口中雙擊 sysprep 程序3.選擇【進入系統全新體驗&#xff08;00BE) 】&#…