Vue回調函數中的this

2025/4/25

向?

示例

一個例子——計數器,通過this來操作數據。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script><title>回調函數中的this</title>
</head>
<body><div id="app"><h1>{{msg}}</h1><h1>計數器:{{count}}</h1><button @click="addOne">加一</button></div><script>new Vue({el : "#app",data:{msg: "回調函數中的this",count:0},methods:{addOne(){this.count++}}})</script></body>
</html>

Vue(vm) 和 this的關系

methods:{addOne(){this.count++console.log(this === vm)}
}

所以不難發現。其實vm(vue實例對象)?和this是一個東西,所以其實我們也可以使用

vm.count++

來實現,但是一般更加常使用this。this就是vm,vm可以訪問count通過數據代理。

箭頭函數

<body><div id="app"><h1>{{msg}}</h1><h1>計數器:{{count}}</h1><button @click="addOne1">加一1</button><button @click="addOne2">加一2</button></div><script>const vm = new Vue({el : "#app",data:{msg: "回調函數中的this",count:0},methods:{addOne1(){this.count++},addOne2:()=>{this.count++}}})</script></body>

當使用箭頭函數之后,計數器失效。因為箭頭函數中沒有this,箭頭函數中的this是從父級作用域當中繼承過來的。對于當前程序來說,父級作用域是全局作用域:window。

普通函數的this指向取決于函數的調用方式。當函數作為對象的方法調用時,this指向該對象;在全局作用域中調用函數,this指向全局對象。addOne1是一個普通函數,能夠根據調用方式來決定this的指向,上述的調用是作為Vue實例對象的方法調用,所以this指向該Vue實例

但箭頭函數不具備自己獨立的this綁定,它的this是在定義時從父級作用域繼承而來的,且不會被調用方式影響。addOne2?箭頭函數定義于?methods?對象里,不過?methods?對象本身并非一個函數作用域,所以?addOne2?的父級作用域就是全局作用域。而全局作用域中并沒有屬性count。

所以在methods中盡量的不使用箭頭函數,我們常需要在回調函數中使用到this和vm實例。

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

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

相關文章

一鍵快速轉換音頻視頻格式的實用工具

軟件介紹 Sundy音視頻格式轉換工具&#xff0c;支持一鍵轉換音頻和視頻格式&#xff0c;還可以集成至右鍵菜單&#xff0c;讓操作更加便捷。軟件支持MP4、FLV、AVI、MKV、MP3、FLAC等多種格式轉換&#xff0c;用戶可以根據需求自由選擇。 直白版 Sundy音視頻格式轉換工…

【AI論文】Tina:通過LoRA的微小推理模型

摘要&#xff1a;如何在語言模型中實現成本效益高的強大推理能力&#xff1f; 在這個基本問題的驅動下&#xff0c;我們提出了Tina&#xff0c;這是一個以高成本效益實現的小型推理模型家族。 值得注意的是&#xff0c;Tina 證明了僅使用最少的資源就可以開發出大量的推理性能&…

TC3xx學習筆記-UCB BMHD使用詳解(一)

文章目錄 前言UCB BMHDPINDISHWCFGLSENA0-3LBISTENACHSWENABMHDIDSTADCRCBMHDCRCBMHD_NPW0-7 總結 前言 AURIX Tc系列Mcu啟動過程&#xff0c;必須要了解BMHD&#xff0c;本文詳細介紹BMHD的定義及使用過程 UCB BMHD UCB表示User Configuration Block,UCB是Dflash,存儲的地址…

H.264/AVC標準主流開源編解碼器編譯說明

An artisan must first sharpen his tools if he is to do his work well. 工欲善其事,必先利其器. 前言 想研究和學習H.264/AVC視頻編解碼標準的入門的伙伴們,不論是學術研究還是工程應用都離不開對源碼的分析,因此首要工作是對各類編解碼器進行編譯,本文針對主流的一些符…

Adobe Photoshop(PS)2022 版安裝與下載教程

Adobe Photoshop下載安裝和使用教程 Adobe Photoshop&#xff0c;簡稱“PS”&#xff0c;是由Adobe Systems開發和發行的圖像處理軟件。Photoshop主要處理以像素所構成的數字圖像。使用其眾多的編修與繪圖工具&#xff0c;可以有效地進行圖片編輯和創造工作&#xff0c…

面試新收獲-大模型學習

大模型原理 Transformer 架構與自注意力機制 Transformer 是當前大多數大模型采用的核心架構&#xff0c;由編碼器-解碼器組成&#xff0c;摒棄了傳統 RNN 的順序處理方式。Transformer 中關鍵在于多頭自注意力機制&#xff08;Multi-Head Self-Attention&#xff09;&#xf…

華為OD機試真題——素數之積RSA加密算法(2025A卷:100分)Java/python/JavaScript/C/C++/GO最佳實現

2025 A卷 100分 題型 本專欄內全部題目均提供Java、python、JavaScript、C、C、GO六種語言的最佳實現方式&#xff1b; 并且每種語言均涵蓋詳細的問題分析、解題思路、代碼實現、代碼詳解、3個測試用例以及綜合分析&#xff1b; 本文收錄于專欄&#xff1a;《2025華為OD真題目錄…

精益數據分析(29/126):深入剖析電子商務商業模式

精益數據分析&#xff08;29/126&#xff09;&#xff1a;深入剖析電子商務商業模式 在創業和數據分析的學習道路上&#xff0c;我們始終在探索如何更精準地把握商業規律&#xff0c;提升業務的競爭力。今天&#xff0c;我們依舊懷揣著共同進步的愿望&#xff0c;深入解讀《精…

大模型獎勵建模新突破!Inference-Time Scaling for Generalist Reward Modeling

傳統的RM在通用領域面臨準確性和靈活性挑戰&#xff0c;而DeepSeek-GRM通過動態生成principle和critic&#xff0c;結合并行采樣與meta RM引導的投票機制&#xff0c;實現了更高質量的獎勵信號生成。論文通過Self-Principled Critique Tuning (SPCT)方法&#xff0c;顯著提升了…

機器視覺的膠帶模切應用

在電子制造領域&#xff0c;膠帶模切工藝如同產品的“隱形裁縫”&#xff0c;從手機屏幕OCA光學膠到動力電池絕緣膠帶&#xff0c;每一刀精準的切割都關乎產品性能與可靠性。傳統人工對位方式難以應對微米級加工精度的嚴苛要求&#xff0c;而MasterAlign機器視覺系統的引入&…

Vue2+ElementUI實現無限級菜單

使用Vue2和ElementUI實現無限級菜單,通常菜單數據以樹形結構存儲,每個菜單包含多個子菜單 ,子菜單又可以繼續包含更深層次的子菜單項。所以,需要使用遞歸形式,完成子項菜單的渲染。 這里,結合Element UI界面的el-menu和el-submenu組件來構建菜單結構,有子菜單時使用el-s…

如何使用WebRTC

WebRTC比較容易使用&#xff0c;只需要很少的步驟&#xff0c;有些消息在瀏覽器和服務器之間流動&#xff0c;有些則直接在兩個瀏覽器之間流動&#xff0c; 1、建立WebRTC會話 a&#xff1a;建立WebRTC連接需要加入以下幾個步驟&#xff1a; 獲取本地媒體&#xff1a;getUse…

數據分析管理軟件 Minitab 22.2.2 中文版安裝包 免費下載

Minitab22.2.2 安裝包下載鏈接: https://pan.baidu.com/s/1cWuDbvcWhYrub01C6QR81Q?pwd6666 提取碼: 6666 Minitab軟件是現代質量管理統計軟件&#xff0c;全球六西格瑪實施的共同語言。Minitab 已經在全球120多個國家&#xff0c;5000多所高校被廣泛使用。

從新手到高手:小程序開發進階技巧分享

小程序開發從入門到精通需要經歷技術積累、架構優化和工程化實踐等多個階段。以下是結合真實項目經驗的進階路線與核心技術要點&#xff0c;涵蓋性能優化、架構設計、跨平臺開發等關鍵領域&#xff1a; 一、性能調優實戰技巧 1. 首屏渲染加速方案 // 預請求關鍵數據&#xff…

Vue3后代組件多祖先通訊設計方案

在 Vue3 中&#xff0c;當需要設計一個被多個祖先組件使用的后代組件的通訊方式時&#xff0c;可以采用以下方案&#xff08;根據場景優先級排序&#xff09;&#xff1a; 方案一&#xff1a;依賴注入&#xff08;Provide/Inject&#xff09; 響應式上下文 推薦場景&#xff…

《代碼之美:靜態分析工具與 CI 集成詳解》

《代碼之美:靜態分析工具與 CI 集成詳解》 引言 在現代軟件開發的快節奏環境中,代碼質量和效率始終是開發者關注的核心。無論您是初學者,還是經驗豐富的資深開發者,一個強大的工具鏈都能讓您如虎添翼。而 Python 的靜態代碼分析工具,如 pylint、flake8 和 mypy,正是提升…

kafka安裝、spark安裝

kafka簡介 Kafka就是一個分布式的用于消息存儲的消息隊列。 kafka角色 Kafka中存儲的消息&#xff0c;被消費后不會被刪除&#xff0c;可以被重復消費&#xff0c;消息會保留多長&#xff0c;由kafka自己去配置。默認7天刪除。背后的管理工作由zookeeper來管理。 kafka安裝 …

Jmeter數據庫url開關設置+常用Beanshell

1、數據庫url開關設置 &#xff08;79 90&#xff09; jdbc:mysql://test.lemonban.com:3306/future?allowMultiQueries-true&characterEncodingUTF-8 多條查詢開關&#xff1a;allowMultiQueriestrue 字符集配置:characterEncodingUTF-8 2、用BeanShell提取Map中的方…

媒體關注:聯易融聚焦AI+業務,重塑供應鏈金融生態

近日&#xff0c;供應鏈金融科技龍頭企業聯易融科技集團&#xff08;以下簡稱“聯易融”&#xff09;發布的公告顯示&#xff0c;截至2024年末&#xff0c;公司現金儲備達51億元&#xff0c;同比上一年增加2億元。公司稱&#xff0c;公司經營性現金流保持健康&#xff0c;現金儲…

求解,如何控制三相無刷電機?歡迎到訪評論

問題&#xff1a;通過一個集成的TF2104芯片控制H橋上橋臂和下橋臂&#xff0c;如何控制&#xff1f;還是說得需要PWM_UH和PWM_UL分開控制&#xff1f;