vue中watch如何自動檢測數(shù)據(jù)變化實時渲染

小編給大家分享一下vue中watch如何自動檢測數(shù)據(jù)變化實時渲染,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)長期為上1000家客戶提供的網(wǎng)站建設服務,團隊從業(yè)經(jīng)驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為長豐企業(yè)提供專業(yè)的成都網(wǎng)站制作、網(wǎng)站設計,長豐網(wǎng)站改版等技術服務。擁有十年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

具體如下:

首先確認 watch是一個對象,一定要當成對象來用。

對象就有鍵,有值。

鍵:就是你要監(jiān)控的那個家伙,比如說$route,這個就是要監(jiān)控路由的變化。或者是data中的某個變量。
值可以是函數(shù):就是當你監(jiān)控的家伙變化時,需要執(zhí)行的函數(shù),這個函數(shù)有兩個形參,第一個是當前值,第二個是變化后的值。

值也可以是函數(shù)名:不過這個函數(shù)名要用單引號來包裹。

第三種情況厲害了。

值是包括選項的對象:選項包括有三個。

  1. 第一個handler:其值是一個回調(diào)函數(shù)。即監(jiān)聽到變化時應該執(zhí)行的函數(shù)。

  2. 第二個是deep:其值是true或false;確認是否深入監(jiān)聽。(一般監(jiān)聽時是不能監(jiān)聽到對象屬性值的變化的,數(shù)組的值變化可以聽到。)

  3. 第三個是immediate:其值是true或false;確認是否以當前的初始值執(zhí)行handler的函數(shù)。

watch實例

vue中watch如何自動檢測數(shù)據(jù)變化實時渲染

上次講到可以使用this.$set或vm.set來動態(tài)的改變,已經(jīng)渲染在頁面上的數(shù)據(jù)(添加,刪除)重新計算重新渲染。

有時候你會需要,動態(tài)的改變某個數(shù)據(jù)或者值,然后根據(jù)你改變的值再做出其它的處理操作(如:顯示,隱藏,增,刪)等,如下面代碼例子:

這里舉個Tab的例子:

在vue的項目里新建一個Tab的組件頁面

<template>
{{index}}
 <div>
   <div @click="showFun(0)">Tab1</div>
   <div @click="showFun(1)">Tab2</div>
   <div @click="showFun(2)">Tab3</div>
 </div>
 <div>
   <div v-if="index == 0">cont1</div>
   <div v-if="index == 1">cont1</div>
   <div v-if="index == 2">cont1</div>
 </div>
</template>
<script>
export default {
 data(){
  return {
    index: 0 // 索引
  }
 },
watch:{ // 實時檢測
  index(idx){ //實時監(jiān)聽index的變化
    console.log(idx) //在這里你可以再根據(jù)idx的值,做出其它的操作
  }
},
 methods:{
   showFun(idx){
     this.index = idx
   }
 }
}
</script>

watch可以讓你自定義一個偵聽器,當需要在數(shù)據(jù)變化時執(zhí)行異步或開銷較大的操作時,這個方式是最有用的

我再舉一個搜索的例子:

<template>
 <input v-model="value" /> // 搜索框
</template>
<script>
export default {
 data(){
  return {
    value: '' // 值
  }
 },
 watch:{
   value(val){ // 實時監(jiān)聽數(shù)據(jù)變化
     this.wat_fun(val)
   }
 }, 
 methods:{
   wat_fun(val){ // 這里可以調(diào)用搜索api接口
    console.log(val)
   }
 }
}
</script>

以上是“vue中watch如何自動檢測數(shù)據(jù)變化實時渲染”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

分享標題:vue中watch如何自動檢測數(shù)據(jù)變化實時渲染
瀏覽地址:http://bm7419.com/article24/iidije.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設、App開發(fā)、外貿(mào)建站微信公眾號、網(wǎng)站建設、自適應網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設網(wǎng)站維護公司