vue中l(wèi)et that=this的作用及說明
vue let that=this的作用
this 會隨著上下文環(huán)境而變換它的指向,在當(dāng)前作用域中設(shè)置一個變量用來存儲 this 可以防止在其他地方找不到 this 的錯誤。
```javascript $("#btn").click(function(){ var that = this;//這里this和that都代表了"#btn"這個對象 $(".tr").each(function(){ this;//在這里this代表的是每個遍歷到的".tr"對象 that;//仍代表"#btn"對象 }) })
vue.js的this作用域問題
下面是一段讓頁面顯示動態(tài)時間的代碼:
<div id="app"> ? ? ? ? <h3 style="text-align:end;">當(dāng)前時間:{{DataNow}}</h3> ? ? </div> ? ? <script> ? ? ? ? var app = new Vue({ ? ? ? ? ? ? el: '#app', ? ? ? ? ? ? data: { ? ? ? ? ? ? ? ? DataNow: new Date(), ? ? ? ? ? ? }, ? ? ? ? ? ? mounted: function () { ? ? ? ? ? ? ? ? var _this = this; //聲明一個變量指向Vue實(shí)例this,保證作用域一致 ? ? ? ? ? ? ? ? this.timer = setInterval(function () { ? ? ? ? ? ? ? ? ? ? _this.DataNow = new Date(); //修改數(shù)據(jù)date ? ? ? ? ? ? ? ? }, 1000); ? ? ? ? ? ? }, ? ? ? ? ? ? beforeDestroy: function () { ? ? ? ? ? ? ? ? if (this.timer) { ? ? ? ? ? ? ? ? ? ? clearInterval(this.timer); //在Vue實(shí)例銷毀前,清除我們的定時器 ? ? ? ? ? ? ? ? } ? ? ? ? ? ? } ? ? ? ? }) ? ? </script>
var _this = this;這里聲明一個變量指向父函數(shù)的this, 用于 _this.DataNow = new Date(); 修改父函數(shù)的“DataNow”實(shí)現(xiàn)動態(tài)時間,如果這里改為this.DataNow = new Date() 就指向了mounted里面的DataNow 則沒有了效果;
_this只是一個變量名,this代表父函數(shù),如果在子函數(shù)還用this,this的指向就變成子函數(shù)了,_this就是用來存儲指向的。
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue自定義組件雙向綁定實(shí)現(xiàn)原理及方法詳解
這篇文章主要介紹了Vue自定義組件雙向綁定實(shí)現(xiàn)原理及方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-09-09基于vue-cli3多頁面開發(fā)apicloud應(yīng)用的教程詳解
這篇文章主要介紹了基于vue-cli3多頁面開發(fā)apicloud應(yīng)用,本文采用vue-cli+APIcloud的方式寫解決以上痛點(diǎn),開發(fā)靈活,并且打包之后體積更小速度更快,需要的朋友可以參考下2019-06-06Vue實(shí)現(xiàn)導(dǎo)航吸頂效果的教程詳解
在瀏覽器上下滾動的時候,如何距離頂部的距離大于78px,吸頂顯示,小于78px則隱藏,所以本文小編給大家介紹了Vue設(shè)置導(dǎo)航吸頂?shù)脑敿?xì)教程,文中有相關(guān)的代碼示例供大家參考,具有一定的參考價值,需要的朋友可以參考下2024-01-01vue3.0語法糖內(nèi)的defineProps及defineEmits解析
這篇文章主要介紹了vue3.0語法糖內(nèi)的defineProps及defineEmits解析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-04-04