最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue watch內(nèi)部調(diào)用methods方法報(bào)錯(cuò)的解決方案

 更新時(shí)間:2022年04月11日 15:26:24   作者:一名假人  
這篇文章主要介紹了vue watch內(nèi)部調(diào)用methods方法報(bào)錯(cuò)的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

watch內(nèi)部調(diào)用methods方法報(bào)錯(cuò)

錯(cuò)誤例子還原

例子

<script>
	export default{
		data(){
			return {
				data: 1,
			}
		},
		watch: {
			data: (newV, oldV) => {
				this.printf() // 此處調(diào)用會(huì)出現(xiàn) undefined
			}
		},
		methods: {
			printf(){
				console.log("111111")
			}
		}		
	}
</script>

錯(cuò)誤原因

在vue的Watch監(jiān)聽器要注意一點(diǎn),那就是watch的內(nèi)部的監(jiān)聽方法,一定一定不要使用箭頭表達(dá)式,正確的寫法應(yīng)該是

watch: {
?? ?data: function(newV, oldV){
?? ??? ?this.printf
?? ?}
}

關(guān)于watch使用方式的vue官方鏈接

理解methods,computed,watch的調(diào)用時(shí)機(jī)

最近在學(xué)Vue框架的 時(shí)候?qū)ethods,computed不甚理解,看了幾篇?jiǎng)e人寫的博客感覺描述的也很模糊,故而在稍微明白他們之間主要差異的時(shí)候,寫文章記錄下。

1.methods中定義的函數(shù)

其調(diào)用時(shí)機(jī)是:當(dāng)頁面引用了vue data關(guān)鍵字的屬性,并且這些屬性發(fā)生改變的時(shí)候,就會(huì)執(zhí)行methods中定義的函數(shù),并且不管methods中定義的函數(shù)是否依賴了data關(guān)鍵字中的屬性,methods中定義的函數(shù)都會(huì)被執(zhí)行。methods中定義的函數(shù)能像普通函數(shù)那樣,當(dāng)主動(dòng)調(diào)用methods中定義的函數(shù)的時(shí)候,這些函數(shù)每次調(diào)用都會(huì)執(zhí)行。

 2.computed中定義的函數(shù)

在computed中定義的函數(shù)的調(diào)用時(shí)機(jī)是:當(dāng)頁面引用了vue data關(guān)鍵字的屬性,并且這些屬性發(fā)生改變的時(shí)候,如果computed中定義的函數(shù)也依賴了這些改變的屬性,那么computed中定義的函數(shù)才會(huì)被執(zhí)行。

也就是computed中定義的函數(shù)被Vue框架回調(diào)的條件是

  • 1.函數(shù)內(nèi)依賴了vue的屬性
  • 2.這些屬性發(fā)生了改變
  • 3.這些屬性被頁面引用

這三個(gè)條件同時(shí)滿足,才會(huì)觸發(fā)computed中定義的某個(gè)函數(shù)的回調(diào)。而且和methods定義的函數(shù),其調(diào)用語法也是不一樣的,computed中定義的函數(shù),調(diào)用的時(shí)候后面不能有小括號(hào),類似屬性的調(diào)用。

并不是每次主動(dòng)調(diào)用computed中定義的函數(shù)都會(huì)執(zhí)行,computed中定義的函數(shù)即使是主動(dòng)調(diào)用,其是否會(huì)執(zhí)行也和內(nèi)部的依賴屬性是否發(fā)生改變有關(guān)。

3.watch中定義的方法

是用來監(jiān)聽某個(gè)屬性發(fā)生變化的時(shí)候,觸發(fā)回調(diào)。在watch中定義方法的時(shí)候,方法的鍵必須是vue中已經(jīng)定義的屬性。

new Vue({
? el: "#app",
? data: {
? ?num: 1,
? ?num2: 2,
? ?value3: 88
? ?
? },
? methods: {
? ? ?getNum:function(){ //每次更新頁面的時(shí)候就會(huì)執(zhí)行
? ? ? ? ? ?alert("methods");
? ? ? ? ? ?return "現(xiàn)在的num:";
? ? ?}
? },
? ?computed: {
? ? ? getNum2:function(){ //第一次執(zhí)行,后面當(dāng)依賴的屬性發(fā)生改變的時(shí)候執(zhí)行
? ? ? alert("computed");
? ? ? ? return "num2:"+ this.num2;
? ? ?}
? },
? watch: {
? ?value3: function(value){ ?//value3是已經(jīng)在data中定義的屬性,value是該屬性發(fā)生改變的時(shí)候的值
? ? alert(" 現(xiàn)在的value:"+ value);
? ?}
? }
})
<div id="app">
<p>{{num}}</p>
<p>{{getNum()}}</p>
<button v-on:click="num++">Num++</button>
<button v-on:click="num--">Num--</button>
<button v-on:click="num2++">Num2++</button>
<button v-on:click="value3++">value3++</button>
</div>

上面的理解,來源于代碼運(yùn)行情況的測試和總結(jié),或有不周到之處,還望讀者見諒。 

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。 

相關(guān)文章

  • Vue CLI3基礎(chǔ)學(xué)習(xí)之pages構(gòu)建多頁應(yīng)用

    Vue CLI3基礎(chǔ)學(xué)習(xí)之pages構(gòu)建多頁應(yīng)用

    這篇文章主要給大家介紹了關(guān)于Vue CLI3基礎(chǔ)學(xué)習(xí)之pages構(gòu)建多頁應(yīng)用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Vue CLI3具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Vue3如何利用xlsx、xlsx-js-style導(dǎo)出Excel表格使用(適合新手)

    Vue3如何利用xlsx、xlsx-js-style導(dǎo)出Excel表格使用(適合新手)

    在Vue項(xiàng)目中導(dǎo)出Excel表格是常見的功能,特別是在后臺(tái)管理系統(tǒng)中,為了方便用戶將大量數(shù)據(jù)保存為本地文件,這篇文章主要給大家介紹了關(guān)于Vue3如何利用xlsx、xlsx-js-style導(dǎo)出Excel表格使用的相關(guān)資料,需要的朋友可以參考下
    2024-06-06
  • vue中echarts關(guān)系圖動(dòng)態(tài)增刪節(jié)點(diǎn)以及連線方式

    vue中echarts關(guān)系圖動(dòng)態(tài)增刪節(jié)點(diǎn)以及連線方式

    這篇文章主要介紹了vue中echarts關(guān)系圖動(dòng)態(tài)增刪節(jié)點(diǎn)以及連線方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • 使用vue實(shí)現(xiàn)簡單鍵盤的示例(支持移動(dòng)端和pc端)

    使用vue實(shí)現(xiàn)簡單鍵盤的示例(支持移動(dòng)端和pc端)

    這篇文章主要介紹了使用vue實(shí)現(xiàn)簡單鍵盤的示例(支持移動(dòng)端和pc端),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-12-12
  • 簡單談?wù)剉ue的過渡動(dòng)畫(推薦)

    簡單談?wù)剉ue的過渡動(dòng)畫(推薦)

    下面小編就為大家?guī)硪黄唵握務(wù)剉ue的過渡動(dòng)畫(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-10-10
  • vue中provide、inject的使用方法案例詳解

    vue中provide、inject的使用方法案例詳解

    本教程是介紹如何在vue中使用provide和inject,在 Vue 中,provide 和 inject 是用于實(shí)現(xiàn)祖先組件向后代組件傳遞數(shù)據(jù)的一種方式,對vue中provide、inject的使用方法感興趣的朋友一起看看吧
    2024-02-02
  • vue實(shí)現(xiàn)計(jì)算器封裝

    vue實(shí)現(xiàn)計(jì)算器封裝

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)計(jì)算器的封裝,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • 安裝nvm?node版本管理器的操作方法(vue2.x遷移vue3.x)

    安裝nvm?node版本管理器的操作方法(vue2.x遷移vue3.x)

    這篇文章主要介紹了安裝nvm?node版本管理器(vue2.x遷移vue3.x)的操作方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-01-01
  • Vue3中Hooks函數(shù)的使用及封裝思想詳解

    Vue3中Hooks函數(shù)的使用及封裝思想詳解

    Vue?3中的Hooks函數(shù)是一種用于在組件中共享可復(fù)用邏輯的方式,簡單來說,就是將單獨(dú)功能的js代碼抽離出來,?加工成公共函數(shù),從而達(dá)到邏輯復(fù)用,下面小編就來和大家聊聊Hooks函數(shù)的使用及封裝思想吧
    2023-06-06
  • 詳解關(guān)于vue2.0工程發(fā)布上線操作步驟

    詳解關(guān)于vue2.0工程發(fā)布上線操作步驟

    這篇文章主要介紹了詳解關(guān)于vue2.0工程發(fā)布上線操作步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-09-09

最新評論

彭山县| 股票| 固始县| 上林县| 井冈山市| 龙南县| 鄂托克旗| 青神县| 娄底市| 大埔县| 张家川| 馆陶县| 广水市| 永州市| 永善县| 商城县| 都安| 林芝县| 施秉县| 宝山区| 桦川县| 平凉市| 布拖县| 徐汇区| 阜阳市| 郓城县| 馆陶县| 遵义县| 农安县| 涞源县| 东台市| 咸阳市| 昆明市| 屏东县| 郎溪县| 双城市| 岗巴县| 临海市| 凤凰县| 若尔盖县| 新巴尔虎右旗|