Vue2和Vue3的區別Vue3的組合式API

一、Vue2和Vue3的區別

1、創建方式的不同:

(1)、vue2:是一個構造函數,通過該構造函數創建一個Vue實例

new Vue({})

(2)、Vue3:是一個對象。并通過該對象的createApp()方法,創建一個vue實例。

Vue.createApp({})

2、掛載容器的不同。

(1)、Vue2:可以通過el選項和$mount()方法來掛載容器。

new Vue({
el:'容器名字 '
})new Vue({
}).$mount('容器名字')

(2)、Vue3:只能通過mount()方法來掛載容器

Vue.createApp({
}).mount('容器名字')

3、data選項的不同

(1)、Vue2:data選項可以是一個對象,也可以是一個方法(由方法返回一個對象)。

new Vue({
el:'容器名字 ',
data:{
}
//或者
new Vue({
el:'容器名字 ',
data(){
return{}}
})
})

(2)、Vue3:data選項只能是一個方法,由方法返回一個對象。

Vue.createApp({
data(){
return{}
}
}).mount('容器名字')

3、響應式的不同

(1)、Vue2:后添加的屬性不具備響應式。要想實現響應式只有兩種方法。
(1)、forceUpdate()強制頁面更新。(但是這種方法的話,是強制刷新頁面,損耗性能) (2)、通過set()方法給對象添加新的屬性,確保新添加的屬性同樣具備響應式。
(3)、操作數組后同時要具有響應式,必須要使用下面的方法:push(在數組的最后面添加數據)、pop(刪除數組的最后一個數據)、unshift(在數組前面添加內容)、shift(刪除數組最前面的數據)、sort(排序)、reverse(反轉)、splice(截取刪除)
示例:

new Vue({
el:'容器名字 ',
data:{
star:{
name:"李易峰",
age:34}}}),
methods:{
//頁面中直接調用這個方法就好了。
addSex(){
//this.star.sex='男'
//this.$forceUpdate()
this.$set(this.star,'sex','男')
}
}

(2)、Vue3:vue3是自動實現數據響應式。

    Vue.createApp({data() {return {star: {name: '李易峰',age: 34},foods: ['火鍋', '串串', '小土豆', '烤榴蓮', '螺螄粉']}},methods: {//添加性別addSex(){this.star.sex="男"},delName(){delete this.star.name},// 添加食物addFoods(){this.foods.push('西瓜')},// 刪除食物deleteFoods(){this.foods.splice(0,1)}},}).mount('#app')

4、Vue3新推出的組合式API

(1)、Vue2:定義方法的時候需要寫在methods里面
在Vue2中,后添加的屬性是非響應式的。頁面不更新。需要用get()和set()方法.

(2)、Vue3:組合式API的作用是將原來分散開來定義的數據、方法、計算屬性、監聽器、組合起來定義一個完整的業務。
ref:用來定義響應式數據

let { ref } = Vue
    Vue.createApp({setup() {//  使用ref()方法,定義一個響應式對象let carName = ref('瑪莎拉蒂')let carPrice = ref('100W')//需要寫一個函數,這個里面有一個value值function updateCar() {//修改信息的時候,需要.value值來修改。這樣的話才能實現數據的響應式原理carName.value = "奔馳",carPrice.value='30W'}//定義的數據需要在return里面返回才能在頁面中使用return{carName,carPrice,updateCar}}}).mount('#app')

頁面中:

    <div id="app">
<div>{{carName}}</div>
<div>{{carPrice}}</div>
<button @click="updateCar">修改信息</button></div>


喜歡的朋友記得點贊、收藏、關注哦!!!

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

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

相關文章

RAG技術下的文檔智能檢索

在數字化浪潮的推動下&#xff0c;信息檢索已成為我們日常生活中不可或缺的一部分。然而&#xff0c;隨著數據量的爆炸式增長&#xff0c;如何快速精準地從海量文檔中檢索出有價值的信息&#xff0c;成為了一個巨大的挑戰。本文將帶您走進 Pinecone 向量數據庫的世界&#xff0…

AIGC到底如何改變創意設計?

在當今數字化時代&#xff0c;AIGC&#xff08;生成式人工智能&#xff09;技術的崛起對創意設計領域產生了深遠的影響。AIGC不僅為設計師提供了新的工具和方法&#xff0c;還改變了傳統的設計流程和思維方式。 傳統的設計過程中&#xff0c;設計師需要耗費大量時間在繪圖、修…

npm install puppeteer 報錯 npm ERR! PUPPETEER_DOWNLOAD_HOST is deprecated解決辦法

npm install puppeteer 報錯如下&#xff1a; npm ERR! PUPPETEER_DOWNLOAD_HOST is deprecated. Use PUPPETEER_DOWNLOAD_BASE_URL instead. npm ERR! Error: ERROR: Failed to set up Chrome v126.0.6478.126! Set "PUPPETEER_SKIP_DOWNLOAD" env variable to sk…

【Linux進程】僵尸進程與孤兒進程

前言 僵尸進程和孤兒進程是Linux中極為重要的兩個種進程狀態, 本文將會圍繞這三個問題: 是什么? 為什么? 如何產生的? 詳細的介紹這兩種進程; 以及一些使用場景. 僵尸進程 在了解孤兒進程之前, 需要先引入僵尸進程的概念; 什么是僵尸進程? 僵尸進程: 就是處于僵死狀態的進…

揭秘代理IP:原理、優勢與應用場景全面解析

隨著數字化進程的加速&#xff0c;網絡安全已經成為現代社會不可或缺的一環。無論是政府機構、企業還是個人用戶&#xff0c;都面臨著越來越多的網絡威脅。本文將深入探討網絡安全的重要性、面臨的主要威脅以及應對策略&#xff0c;旨在為讀者提供一個全面的網絡安全視角。 1.…

黑馬點評學習過程匯總——Cookie \ Session \ Token的區別

1. Cookie \ Session \ Token的區別 10分鐘助你弄懂cookie、session、token 區別、用途&#xff01;&#xff01;&#xff01;_嗶哩嗶哩_bilibili &#xff08;1&#xff09;為什么要使用Cookie 在客戶端和服務端之間維持用戶登錄狀態 &#xff08;2&#xff09;為什么不能只…

類似Jira的在線項目管理軟件有哪些?10 個主流的Jira替代方案

10 個 Jira 替代方案&#xff1a;PingCode、Worktile、Teambition、Redmine、Asana、monday.com、Zoho Projects、思碼逸、Notion、Airtable。 Jira 是一款流行的項目管理工具&#xff0c;專為產品開發團隊而設計。雖然它是一種多功能解決方案&#xff0c;幾乎適用于任何類型的…

Git 操作補充:變基

變基 在 Git 中&#xff0c;整合來自不同分支的修改&#xff0c;除了 merge&#xff0c;還有一種方法&#xff0c;變基 rebase。git rebase 命令基本是是一個自動化的 cherry-pick 命令&#xff0c;它計算出一系列的提交&#xff0c;然后在其他地方以同樣的順序一個一個的 che…

流程表單設計器開源優勢多 助力實現流程化!

實現流程化辦公是很多職場企業的發展目標。應用什么樣的軟件可以實現這一目的&#xff1f;低代碼技術平臺、流程表單設計器開源的優勢特點多&#xff0c;在推動企業降本增效、流程化辦公的過程中作用明顯&#xff0c;是理想的軟件平臺。那么&#xff0c;流程表單設計器開源的優…

編譯Open Cascade(OCC)并使用C#進行開發

說明&#xff1a; VS版本&#xff1a;Visual Studio Community 2022系統&#xff1a;Windows 11 專業版23H2Open CASCADE&#xff1a;v7.7.0&#xff08;鏈接&#xff1a;https://pan.baidu.com/s/1-o1s4z3cjpYf5XkwhSDspQ?pwdp9i5提取碼&#xff1a;p9i5&#xff09; 下載和…

Julia精解【1】

文章目錄 轉換類型伴隨矩陣 轉換類型 在Julia中&#xff0c;可以使用內置函數來轉換或者調整數據類型。以下是一些常用的數據類型轉換方法&#xff1a; 轉換類型 Int(): 將浮點數或字符串轉換為整數。Float(): 將整數或字符串轉換為浮點數。String(): 將其他類型轉換為字符串…

闡述pandabuy淘寶代購集運系統在國外用戶采購中國商品重要性丨類似淘寶代購集運系統搭建經驗

Pandabuy淘寶代購集運系統在國外用戶采購中國商品中的重要性&#xff0c;主要體現在以下幾個方面&#xff1a; 一、滿足多樣化需求 Pandabuy系統為海外消費者提供了一個便捷的渠道&#xff0c;使他們能夠輕松購買到來自中國電商平臺的商品&#xff0c;如淘寶、天貓、京東等。…

python數據分析入門學習筆記

目錄 一、 數據分析有關的python庫簡介 (一)numpy (二)pandas (三)matplotlib (四)scipy (五)statsmodels (六)scikit-learn 二、 數據的導入和導出 三、 數據篩選 四、 數據描述 五、 數據處理 六、 統計分析 七、 可視化 八、 其它![](https://…

windows電腦藍屏解決方法(親測有效)

如果不是硬件問題&#xff0c;打開終端嘗試以下命令 sfc /scannow DISM /Online /Cleanup-Image /RestoreHealth

關于敏捷研發

文章目錄 前言瀑布流和敏捷研發流程瀑布流研發流程缺點 敏捷研發流程 前言 關于敏捷研發。 瀑布流和敏捷研發流程 瀑布流研發流程 1.需求 2.設計 3.開發 4.測試 缺點 流程之間關聯性很強&#xff0c;容易卡住風險不好預估&#xff0c;工時不好預估&#xff0c;如 2 個月的…

nodejs sqlite模塊

SQLite 是一個輕量級的嵌入式數據庫&#xff0c;它在 Node.js 中的使用通常是異步的。這意味著當你執行數據庫操作時&#xff0c;例如創建表、插入數據或查詢數據&#xff0c;這些操作會被放入事件隊列中異步執行&#xff0c;而不會阻塞主線程。 安裝sqlite3 npm install sql…

If you already have a 64-bit JDK installed ,defined a JAVA_HOME...的錯誤

今天感覺idea有點卡&#xff0c;修改了一下內存&#xff0c;結果就報這個錯誤了&#xff0c;網上的解決方案好多&#xff0c;都不行 以下是解決方案 打開 C:\Program Files\JetBrains\IntelliJ IDEA 2024.1.4\bin\jetbrains_client64.exe 把jihuo這個目錄下所有的文件都刪掉&…

通過easyexcel導入數據,添加表格參數的校驗,同表格內校驗以及和已有數據的校驗

引入依賴 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.2.11</version><scope>compile</scope></dependency> 需要導入到某個目錄下 如果產品名稱相同&#xff0c…

Mybatis數據封裝

目錄 解決方案&#xff1a; 1.起別名&#xff1a; 2.手動結果映射&#xff1a; 3.開啟駝峰命名(推薦)&#xff1a; 我們看到查詢返回的結果中大部分字段是有值的&#xff0c;但是deptId&#xff0c;createTime&#xff0c;updateTime這幾個字段是沒有值的&#xff0c;而數據…

分析數據不要太老實,有BI方案就用起來——奧威BI軟件

在當今數據驅動的時代&#xff0c;企業對于數據分析的需求日益迫切。然而&#xff0c;面對海量的數據和復雜的分析需求&#xff0c;許多企業仍停留在傳統的手工分析模式&#xff0c;這不僅效率低下&#xff0c;還容易出錯。幸運的是&#xff0c;像奧威BI這樣的數據分析軟件提供…