01-Vue2 介紹與指令的使用

1. Vue核心

? 1.1. Vue簡介

????????1.1.1. 官網

中文官網Vue.js - 漸進式 JavaScript 框架 | Vue.js (vuejs.org)icon-default.png?t=N7T8https://cn.vuejs.org/

英文官網
Vue.js - The Progressive JavaScript Framework | Vue.js (vuejs.org)icon-default.png?t=N7T8https://vuejs.org/

????????1.1.2. 介紹與描述

VUE是構建于用戶界面的漸進式JavaScript框架

????????1.1.3. Vue的特點

遵循MVVM模式

體積小、編碼簡潔,執行效率高,適合移動/PC端開發

????????1.1.4.與其他JS框架的關聯

借鑒 Angular 的模板和數據綁定技術
借鑒 React 的組件化虛擬DOM技術

????????1.1.5. Vue周邊庫

vite:vue腳手架
vue-resource
axios
vue-router:路由
vuex:狀態管理
element-ui:基于vue的UI組件庫(PC端)

1.2. 初識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><!-- 引入Vue --><script src="../js/vue.js"></script>
</head>
<body><!-- 準備好一個容器 --><div id="root"><h1>Hello!{{name}}!</h1></div><script>Vue.config.productionTip = false // vue在啟動時生成提示關閉new Vue({el:'#root', //el用于指定當前Vue實例為哪個容器服務,值通常為css選擇器字符串data:{ //data用于存儲數據,數據共el所指定的容器去使用name:'JOJO'}})</script>
</body>
</html>

VUE的基本使用

1.導入vue.js腳本文件

2.在頁面聲明一個將要被vue控制的區域

3.創建VUE的實例對象

1.3. 模板語法

<!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="root"><h1>插值語法</h1><h3>你好,{{name}}!</h3><hr><h1>指令語法</h1><a v-bind:href="url">快去看新番!</a><br><a :href="url">快去看新番!</a></div><script>Vue.config.productionTip = false new Vue({el:'#root', data:{ name:'JOJO',url:'https://www.bilibili.com/'}})</script>
</body>
</html>

總結:

Vue模板語法包括兩大類:

插值語法:

功能:用于解析標簽體內容

寫法:{{xxx}}(matches),xxx是js表達式,可以直接讀取到data的數據

指令語法:

功能:用于解析標簽(包括:標簽屬性、標簽體內容、綁定事件…)
舉例:v-bind:xxx,xxx同樣要寫js表達式,可以直接讀取到data中的屬性

1.4數據綁定

<body><div id="root">單向數據綁定:<input type="text" v-bind:value="name"><br>雙向數據綁定:<input type="text" v-model:value="name"></div><script>Vue.config.productionTip = false new Vue({el:'#root', data:{name:'JOJO'}})</script>
</body>

總結:

Vue有2種數據綁定的方式:

單向綁定(v-bind) 雙向綁定(v-model)

備注:

雙向數據綁定一般應用在表單類元素上(如:<input>、<select>、<textarea>等)
v-model:value可以簡寫為v-model,因為v-model默認收集的是value值

1.5. el與data的兩種寫法

<body><div id="root"><h1>Hello,{{name}}!</h1></div><script>Vue.config.productionTip = false //el的兩種寫法:// const vm = new Vue({//     // el:'#root', //第一種寫法//     data:{//         name:'JOJO'//     }// })// vm.$mount('#root')//第二種寫法//data的兩種寫法:new Vue({el:'#root', //data的第一種寫法:對象式// data:{//     name:'JOJO'// }//data的第二種寫法:函數式data(){return{name:'JOJO'}}})</script>
</body>

總結:

el有2種寫法:

  1. 創建Vue實例對象的時用el屬性
  2. 先創建Vue實例,再通過vm.$mount('#root')指定el的值

data有2種寫法:

  1. 對象式
  2. 函數式

?由Vue管理的函數,一定不要寫箭頭函數,否則this就不再是Vue實例了

?1.6. MVVM模型

?MVVM模型

M :model表示在頁面渲染時的數據源

V:View表示在頁面渲染的DOM結構

VM:實例對象

<body><div id="app"><span ref="span" @click="change($event)">{{ message }}</span><p>{{name}}</p><p>{{ $options}}</p></div>
</body>

總結:

????????data中所有的屬性,最后都出現在了vm身上

????????vm身上所有的屬性 及 Vue原型上所有的屬性,在Vue模板中直接使用

1.7. Vue中的數據代理

?

總結:

Vue中的數據代理通過vm對象來代理data對象中屬性的操作(讀/寫)
Vue中數據代理的好處:更加方便的操作data中的數據
基本原理:
????????通過object.defineProperty()把data對象中所有屬性添加到vm上。
????????為每一個添加到vm上的屬性,都指定一個getter/setter。
????????在getter/setter內部去操作(讀/寫)data中對應的屬性。

?

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

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

相關文章

靶機滲透之sar

Name: Sar: 1Date release: 15 Feb 2020Author: LoveSeries: Sar Download: https://drive.google.com/open?id1AFAmM21AwiAEiVFUA0cSr_GeAYaxd3lQ 對于vulnhub中的靶機&#xff0c;我們都需先下載鏡像&#xff0c;然后導入VM&#xff0c;并將網絡連接改為NAT模式。首先我們…

UDP數據報套接字編程入門

目錄 1.TCP和UDP的特點及區別 1.1TCP的特點 1.2UDP的特點 1.3區別 2.UDP Socket的api的介紹 2.1DatagramSocket API 2.2DatagramPacket API 3.回顯客戶端與服務器 3.1回顯服務器 3.1.1UdpEchoServer類的創建 3.1.2服務器的運行方法start() 3.1.3main部分 3.1.4.完整…

C# CAD PaletteSet.Style各種外觀和行為樣式

ps.Style 是 Autodesk.AutoCAD.Windows.PaletteSet 類的一個屬性&#xff0c;用于定義調色板集&#xff08;PaletteSet&#xff09;的各種外觀和行為樣式。它可以是 PaletteSetStyles 枚舉類型的組合值 PaletteSetStyles 枚舉中包含以下一些選項&#xff1a; NameEditable&am…

統計子矩陣

一、題目描述 P8783 [藍橋杯 2022 省 B] 統計子矩陣 二、算法簡析 2.1 二維前綴和 我們知道&#xff0c;只要確定了矩陣的左上頂點和右下頂點&#xff0c;一個矩陣就被固定了。因此&#xff0c;我們可以遍歷這兩個頂點&#xff0c;達到遍歷所有子矩陣的目的&#xff0c;復雜…

AutoSAR(基礎入門篇)12.5-Dem

目錄 一、Dem簡介 二、Dem消抖 1、計數模式 1. 普通增減計數 2. 反向歸零增減模式

在微服務整合dubbo,以為微服務版的若依為例

在微服務整合dubbo&#xff0c;以為微服務版的若依為例 一、環境二、整合過程1、父模塊依賴2、生產者3、消費者 三、修改若依的服務調用方式為dubbo1、改造系統模塊2、改造認證授權中心 四、整合過程遇到的問題1、出現循環引用2、出現依賴沖突3、啟動出現端口號被占用4、出現某…

UVa11726 Crime Scene

題目鏈接 UVa11726 - Crime Scene 題意 給定n&#xff08;n≤100&#xff09;個物體&#xff0c;每個物體都是一個圓或者k&#xff08;k≤10&#xff09;邊形&#xff0c;用長度盡量小的繩子把它們包圍起來。 分析 孟加拉國Manzurur Rahman Khan (Sidky)大神出的難題&#xff…

MySQL 核心模塊揭秘 | 07 期 | 二階段提交 (1) prepare 階段

二階段提交的 prepare 階段&#xff0c;binlog 和 InnoDB 各自會有哪些動作&#xff1f; 本文基于 MySQL 8.0.32 源碼&#xff0c;存儲引擎為 InnoDB。 1. 二階段提交 二階段提交&#xff0c;顧名思義&#xff0c;包含兩個階段&#xff0c;它們是&#xff1a; prepare 階段。…

springboot-基礎-eclipse配置+helloword示例

備份筆記。所有代碼都是2019年測試通過的&#xff0c;如有問題請自行搜索解決&#xff01; 下一篇&#xff1a;springboot-基礎-添加model和controller的簡單例子常用注解含義 目錄 配置helloword示例新建項目創建文件 配置 spring boot官方有定制版eclipse&#xff0c;也就是…

BUUCTF AWD-Test1

打開靶場是這個有些簡陋的界面。 隨便點點&#xff0c;找到這個東西。 看到ThinkPHP&#xff0c;思路瞬間清晰&#xff0c;老熟人了。這個就是ThinkPHP漏洞。根據版本我們去找一下poc。 /index.php/?sIndex/\think\View/display&content%22%3C?%3E%3C?php%20phpinfo();…

SHELL 腳本: 導出NEO4j DUMP并上傳SFTP

前提 開通sftp賬號 安裝expect 示例 NEO4J_HOME/path/to/neo4j # neo4j 安裝目錄 DUMP_PATH/data/dump # DUMP本地保存目錄 DUMP_FILEneo4j_$(date %F).dump #導出文件名稱 UPLOAD_DIR/path/to/stfp/dump/ #上傳目錄 $NEO4J_HOME/bin/neo4j-admin dump --databaseneo4j --t…

Vue-5

Vue 3 的優勢 更容易維護&#xff08;組合式API&#xff09;更快的速度更小的體積更優的數據響應 創建 Vue 3 項目 前提環境條件&#xff1a;已安裝 16.0 或更高版本的 Node.js node -v創建一個 Vue 應用&#xff08;下面的指令將會安裝并執行 create-vue &#xff09; np…

服務端向客戶端推送數據的實現方案

在日常的開發中&#xff0c;我們經常能碰見服務端需要主動推送給客戶端數據的業務場景&#xff0c;比如數據大屏的實時數據&#xff0c;比如消息中心的未讀消息&#xff0c;比如聊天功能等等。 本文主要介紹SSE的使用場景和如何使用SSE。 服務端向客戶端推送數據的實現方案有哪…

MySQL 自增列解析(Auto_increment)

MySQL數據庫為列提供了一種自增屬性&#xff0c;當列被定義為自增時。Insert語句對該列即使不提供值&#xff0c;MySQL也會自動為該列生成遞增的唯一標識&#xff0c;因此這個特性廣泛用于主鍵的自動生成。 一、自增列的用法 自增列具有自動生成序列值&#xff0c;整型&#…

職責鏈模式(Chain of Responsibility Pattern)

定義 職責鏈模式&#xff08;Chain of Responsibility Pattern&#xff09;是一種行為設計模式&#xff0c;它允許對象接收請求并將其沿著處理者鏈傳遞&#xff0c;直到有一個處理者處理它為止。職責鏈模式通過將請求的處理邏輯分布 在職責鏈模式中&#xff0c;通常包含以下幾…

MYSQL04高級_邏輯架構剖析、查詢緩存、解析器、優化器、執行器、存儲引擎

文章目錄 ①. 邏輯架構剖析②. 服務層 - 查詢緩存③. 服務層 - 解析器④. 服務層 - 優化器⑤. 服務層 - 執行器⑥. MySQL8執行原理 ①. 邏輯架構剖析 ①. 服務器處理客戶端請求 ②. 連接層 系統(客戶端)訪問MySQL服務器前,做的第一件事就是建立TCP連接經過三次握手建立連接成…

Linux使用C語言實現通過互斥鎖限制對共享資源的訪問

互斥鎖限制共享資源的訪問 主線程中有兩個線程&#xff0c;分別輸出信息。 #include <stdio.h> #include <pthread.h> #include <unistd.h>int g_data0;void* fun1(void *arg) {printf("t1&#xff1a;%ld thread is create\n", (unsigned long)…

大宋咨詢數據研究在汽車新品上市中的核心作用

隨著汽車行業的快速變革&#xff0c;數據研究已經成為新品上市流程中的不可或缺的一環。從市場定位、產品規劃到營銷策略&#xff0c;數據研究不僅為汽車企業提供了獨特的洞察&#xff0c;還為其提供了決策依據&#xff0c;確保新品在競爭激烈的市場中取得優勢。在這一領域&…

Kubernetes IoTDB系列 | IoTDB搭建 | v1.3.0

目錄 一、IoTDB 介紹二、k8s 部署 IoTDB一、IoTDB 介紹 IoTDB 是一種面向物聯網(IoT)場景的開源時序數據庫。它專門設計用于高效地存儲和查詢大規模物聯網設備產生的時序數據。IoTDB 提供了高吞吐量、低延遲、靈活的數據模型以及多種數據查詢和存儲引擎等特性,使其成為處理…

稀疏圖帶負邊的全源最短路Johnson算法

BellmanFord算法 Johnson算法解決的問題 帶負權的稀疏圖的全源最短路 算法流程 重新設置的每條邊的權重都大于或等于0&#xff0c;跑完Djikstra后得到的全源最短路&#xff0c;記得要還原&#xff0c;即&#xff1a;f(u,v) d(u,v) - h[u] h[v] 例題