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實例this,保證作用域一致
? ? ? ? ? ? ? ? this.timer = setInterval(function () {
? ? ? ? ? ? ? ? ? ? _this.DataNow = new Date(); //修改數(shù)據(jù)date
? ? ? ? ? ? ? ? }, 1000);
? ? ? ? ? ? },
? ? ? ? ? ? beforeDestroy: function () {
? ? ? ? ? ? ? ? if (this.timer) {
? ? ? ? ? ? ? ? ? ? clearInterval(this.timer); //在Vue實例銷毀前,清除我們的定時器
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? })
? ? </script>var _this = this;這里聲明一個變量指向父函數(shù)的this, 用于 _this.DataNow = new Date(); 修改父函數(shù)的“DataNow”實現(xiàn)動態(tài)時間,如果這里改為this.DataNow = new Date() 就指向了mounted里面的DataNow 則沒有了效果;
_this只是一個變量名,this代表父函數(shù),如果在子函數(shù)還用this,this的指向就變成子函數(shù)了,_this就是用來存儲指向的。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue學(xué)習(xí)筆記進(jìn)階篇之函數(shù)化組件解析
本篇文章主要介紹了Vue學(xué)習(xí)筆記進(jìn)階篇之函數(shù)化組件探究,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07
vue3學(xué)習(xí)指導(dǎo)教程(附帶獲取屏幕可視區(qū)域?qū)捀?
Vue3是Vue的第三個版本更快,更輕,易維護(hù),更多的原生支持,下面這篇文章主要給大家介紹了關(guān)于vue3學(xué)習(xí)指導(dǎo)教程(附帶獲取屏幕可視區(qū)域?qū)捀?的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-04-04
如何在 Vue3 中使用 OpenLayers 實現(xiàn)事件 loadst
在這篇文章中,我將詳細(xì)介紹如何在 Vue3 + OpenLayers 中監(jiān)聽 loadstart 和 loadend 事件,并通過 Vue3 Composition API 進(jìn)行代碼優(yōu)化,使其更加高效、健壯,感興趣的朋友一起看看吧2025-04-04

