国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

vue3 監(jiān)聽resize窗口事件,離開頁面要銷毀窗口事件。

這篇具有很好參考價值的文章主要介紹了vue3 監(jiān)聽resize窗口事件,離開頁面要銷毀窗口事件。。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

resize事件:
resize事件是改變窗口大小時發(fā)生的事件,可以在窗口開啟、最大化、最小化、窗口大小改變(如拖拉改變窗口大小、move語句改變窗口大小、改變width或height屬性以改變窗口大?。r發(fā)生。

1.監(jiān)聽瀏覽器窗口變化,實時獲取該窗口的寬度和高度

//封裝getWindowInfo()方法
const getWindowInfo = () => {
	const windowInfo = {
		width: window.innerWidth,
		hight: window.innerHeight
	}
	console.log(windowInfo);
};

2.監(jiān)聽 resize 事件

//通過window監(jiān)聽
window.addEventListener('resize', getWindowInfo);
//缺點是會頻繁觸發(fā)這個事件,造成頁面卡頓,優(yōu)化的方法使用防抖或節(jié)流。

//優(yōu)化后的方法:
防抖debounce:在事件觸發(fā)n秒后再執(zhí)行,如果在n秒內又有新的觸發(fā),就重新計算
節(jié)流throttle:連續(xù)事件觸發(fā),在指定的時間內,不管觸發(fā)幾次,就只執(zhí)行一次

//使用防抖 (setTimeout定時器)
const getWindowInfo = () => {
	const windowInfo = {
		width: window.innerWidth,
		hight: window.innerHeight
	}
};
const debounce = (fn, delay) => {
	let timer;
	return function() {
		if (timer) {
			clearTimeout(timer);
		}
		timer = setTimeout(() => {
			fn();
		}, delay);
	}
};
//觸發(fā)事件    觸發(fā)時間(指定時間內執(zhí)行事件)
const cancalDebounce = debounce(getWindowInfo, 500);
window.addEventListener('resize', cancalDebounce);
//vue3 使用生命周期銷毀鉤子
  onUnmounted(() => {
        console.log('onUnmounted','打印是否生效');
        //移除監(jiān)聽事件
        window.removeEventListener('resize', cancalDebounce);
   })

vue2和vue3的生命周期如下:
vue離開頁面時摧毀頁面,定時器,vue項目遇到的問題,防抖和節(jié)流,javascript,前端,vue.js,vue3,resize事件
vue3使用生命周期鉤子例子:

<script>
import { onMounted } from 'vue'  // 首先需要通過組合式API的方式把聲明周期鉤子引入項目

  export default {
    setup() {
      onMounted(() => {   // 在 setup 函數(shù)中,使用箭頭函數(shù)的方式使用。
        console.log('onMounted')
      })
    },
  }
</script>

vue3 生命周期執(zhí)行順序:文章來源地址http://www.zghlxwxcb.cn/news/detail-520532.html

<template>
  <div>
    <h1>content : {{num}}</h1>
    <el-button type="primary" @click="num++">num++</el-button>
  </div>
</template>
<script>
  import { onBeforeMount, onMounted, onBeforeUpdate, onUpdated, onBeforeUnmount, onUnmounted, onErrorCaptured, ref } from 'vue'

  export default {
    setup() {

      const num = ref(0)

      onBeforeMount(() => {
        console.log('onBeforeMount')
      })

      onMounted(() => {
        console.log('onMounted')
      })

      onBeforeUpdate(() => {
        console.log('onBeforeUpdate')
      })

      onUpdated(() => {
        console.log('onUpdated')
      })

      onBeforeUnmount(() => {
        console.log('onBeforeUnmount')
      })

      onUnmounted(() => {
        console.log('onUnmounted')
      })

      onErrorCaptured(() => {
        console.log('onErrorCaptured')
      })

      console.log('setup執(zhí)行了')

      return { num }
    },
  }
</script>
<style scoped>

</style>

到了這里,關于vue3 監(jiān)聽resize窗口事件,離開頁面要銷毀窗口事件。的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • vue3實現(xiàn)父組件向子組件傳值并監(jiān)聽props改變觸發(fā)事件

    1. 父組件 向子組件 loginPhone 傳遞 tel 參數(shù)? phone 是在 reactive 定義的變量也可是是 ref 定義的變量 2. 子組件

    2024年02月05日
    瀏覽(33)
  • vue3 銷毀組件方法

    vue3 銷毀組件方法

    問題描述:使用elementplus的dialog,當關閉彈窗后不刷新頁面,直接再次打開發(fā)現(xiàn)彈窗中還存留上一次的數(shù)據(jù)。嘗試定義關閉事件,或者使用api中提供的屬性destroy-on-close 都不行。后來發(fā)現(xiàn)這是一個誤區(qū)。彈窗關閉時并不代表這個組件已經(jīng)被銷毀了,只是dialog關閉了 解決方法:使

    2023年04月19日
    瀏覽(14)
  • Vue中 echarts響應式頁面變化resize()

    Vue中 echarts響應式頁面變化resize()

    Vue項目中開發(fā)數(shù)據(jù)大屏,使用echarts圖表根據(jù)不同尺寸的屏幕進行適配 BUG:當頁面進行縮放時圖表大小沒有變化 使用到的方法: resize() 調用echarts中內置的resize函數(shù)進行自適應縮放,然后添加監(jiān)控,頁面銷毀時刪掉,避免不必要內存占用 我們先看一下官方文檔怎么說 resize 官

    2024年02月08日
    瀏覽(15)
  • 小程序如何監(jiān)聽頁面的滾動事件

    在小程序開發(fā)中,監(jiān)聽頁面的滾動事件是一個常見的需求。通過監(jiān)聽頁面的滾動事件,我們可以實現(xiàn)一些特殊效果,例如懶加載、下拉刷新等。本文將介紹如何在小程序中監(jiān)聽頁面的滾動事件,并給出一些實用的示例代碼。 引言 隨著小程序的普及和發(fā)展,越來越多的開發(fā)者

    2024年02月08日
    瀏覽(32)
  • 微信小程序的頁面滾動事件監(jiān)聽

    微信小程序中可以通過 Page 的 onPageScroll 方法來監(jiān)聽頁面滾動事件。具體步驟如下: 在頁面的 onLoad 方法中注冊頁面滾動事件監(jiān)聽器: 在 onPageScroll 方法中處理頁面滾動事件。onPageScroll 方法會在頁面滾動時被調用,參數(shù) event 包含了當前頁面滾動的位置信息,例如 event.scrollT

    2024年02月07日
    瀏覽(24)
  • vue3基礎(五)watch(淺監(jiān)聽及深度監(jiān)聽),鼠標及鍵盤修飾符,v-model,對象寫法,class使用數(shù)組,字符串模版,自定義組件標簽上添加事件無效,使用data時用別名替代,solt輸出內容

    vue3基礎(五)watch(淺監(jiān)聽及深度監(jiān)聽),鼠標及鍵盤修飾符,v-model,對象寫法,class使用數(shù)組,字符串模版,自定義組件標簽上添加事件無效,使用data時用別名替代,solt輸出內容

    監(jiān)聽中的 方法名 與 需要監(jiān)聽的 變量名 一致 如果沒有(例如aa), 不會報錯 ,但監(jiān)聽不到 所以上圖會 輸出1 ,而不會輸出2 newValue改變后的值,oldValue改變前的值 watch 可以監(jiān)聽 computed 計算屬性中的方法,變量等等 點擊go按鈕,調用change方法修改kk的值,computed中有kk,所以

    2024年02月15日
    瀏覽(37)
  • 微信小程序——頁面事件,.啟用下拉刷新監(jiān)聽頁面的下拉刷新事件,上拉觸底事件,停止下拉刷新的效果

    微信小程序——頁面事件,.啟用下拉刷新監(jiān)聽頁面的下拉刷新事件,上拉觸底事件,停止下拉刷新的效果

    下拉刷新是移動端的專有名詞,指的是通過手指在屏幕上的下拉滑動操作,從而重新加載頁面數(shù)據(jù)的行為。 啟用下拉刷新有兩種方式: a.全局開啟下拉刷新 在 app.json 的window 節(jié)點中,將 enablePullDownRefresh 設置為 true. b.局部開啟下拉刷新 在頁面的.json 配置文件中,將 enablePull

    2024年01月25日
    瀏覽(32)
  • addEventListenter 監(jiān)聽頁面滾動事件 鼠標左鍵拖拉滾輪

    問題:在同一個界面需要調的接口太多,需要做懶加載 想法:監(jiān)聽滾動位置,到一個范圍內調用對應的接口 做法1: 1、首先在整個vue文件的最外層加上 ref=\\\"scrollview\\\"和 @mousewheel=“scrollChange” 2、在methods中寫下一個滾輪方法,里面具體需要做什么處理(比如到哪個位置調用哪

    2024年02月09日
    瀏覽(32)
  • 判斷鼠標移入移出頁面某個元素(監(jiān)聽鼠標事件)

    判斷鼠標移入移出頁面某個元素(監(jiān)聽鼠標事件)

    寫頁面時有時需要在鼠標移入或者移出時進行下一步操作 可以用? jQuery? 的 事件監(jiān)聽 語法: ?在銷毀時記得 解除事件監(jiān)聽 這樣就可以啦 再記個前一段時間學到的數(shù)組轉換小知識~不知道寫哪里怕時間長了又忘記了 先寫這吧 Js將 字符串數(shù)組轉為數(shù)字數(shù)組 和將? 數(shù)字數(shù)組轉為

    2024年02月15日
    瀏覽(100)
  • 小程序內嵌H5頁面監(jiān)聽小程序的返回事件

    因為業(yè)務上有需求,在開發(fā)小程序的時候有些頁面要使用web-view組件嵌套H5頁面 有個頁面內有個表單,在表單內容還為填寫完成的時候,監(jiān)聽用戶點擊左上角返回事件,彈出一個提示框,因為H5頁面在小程序中的層級很高,所以彈出提示框只能在H5頁面內完成,因此要在H5頁面

    2024年02月11日
    瀏覽(31)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包