vue的計算屬性和偵聽器

計算屬性

理解

1晦款、computed用來監(jiān)控自己定義的變量矾飞,該變量不在data里面聲明,直接在computed里面定義座泳,然后就可以在頁面上獲取到并進(jìn)行相應(yīng)的數(shù)據(jù)處理

2惠昔、computed里可以完成各種復(fù)雜的邏輯,包括運(yùn)算挑势、函數(shù)調(diào)用等镇防,只要最終返回一個結(jié)果就可以。


案例:

<template>
    <div @click='add'> + </div>
</template>

data(){
    return{
        num1: 11,
        num2: 33
    }
  },
  computed:{
      total:function(){
      return this.num1 + this.num2 //總分會隨著num1潮饱,num2的變化而重新計算
    },
  },
  methods:{
      add(){
          this.num1++
      }
  }

上面案例中total返回的是num1和num2的總和来氧,且每次點擊加號時total的值都會隨著num1的變化而變化,由此可知計算屬性可以依賴多個Vue 實例的數(shù)據(jù)香拉,只要其中任一數(shù)據(jù)變化啦扬,計算屬性就會重新執(zhí)行,視圖也會更新凫碌。

計算屬性的setter

計算屬性默認(rèn)只有 getter 扑毡,不過在需要時你也可以提供一個 setter :

computed: {
  fullName: {
    // getter
    get: function () {
      return this.firstName + ' ' + this.lastName
    },
    // setter
    set: function (newValue) {
      var names = newValue.split(' ')
      this.firstName = names[0]
      this.lastName = names[names.length - 1]
    }
  }
}

現(xiàn)在再運(yùn)行 vm.fullName = 'John Doe' 時,setter 會被調(diào)用盛险,vm.firstName 和 vm.lastName 也會相應(yīng)地被更新瞄摊。

偵聽器 watch

雖然計算屬性在大多數(shù)情況下更合適勋又,但有時也需要一個自定義的偵聽器。這就是為什么 Vue 通過 watch 選項提供了一個更通用的方法换帜,來響應(yīng)數(shù)據(jù)的變化赐写。
當(dāng)需要在數(shù)據(jù)變化時執(zhí)行異步或開銷較大的操作時,這個方式是最有用的

例如:

<div id="watch-example">
  <p>
    Ask a yes/no question:
    <input v-model="question">
  </p>
  <p>{{ answer }}</p>
</div>

watch: {
    // 如果 `question` 發(fā)生改變膜赃,這個函數(shù)就會運(yùn)行
    question: function (newQuestion, oldQuestion) {
      this.answer = 'Waiting for you to stop typing...'
    }
  },

當(dāng)我們監(jiān)聽的數(shù)據(jù)發(fā)生變化時挺邀,相應(yīng)的函數(shù)就會運(yùn)行,這個函數(shù)的第一個參數(shù)是變化的值跳座,第二個參數(shù)是原來的值

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末端铛,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子疲眷,更是在濱河造成了極大的恐慌禾蚕,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件狂丝,死亡現(xiàn)場離奇詭異换淆,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)几颜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進(jìn)店門倍试,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蛋哭,你說我怎么就攤上這事县习。” “怎么了谆趾?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵躁愿,是天一觀的道長。 經(jīng)常有香客問我沪蓬,道長彤钟,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任跷叉,我火速辦了婚禮逸雹,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘性芬。我一直安慰自己峡眶,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布植锉。 她就那樣靜靜地躺著,像睡著了一般峭拘。 火紅的嫁衣襯著肌膚如雪俊庇。 梳的紋絲不亂的頭發(fā)上狮暑,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天,我揣著相機(jī)與錄音辉饱,去河邊找鬼搬男。 笑死,一個胖子當(dāng)著我的面吹牛彭沼,可吹牛的內(nèi)容都是我干的缔逛。 我是一名探鬼主播,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼姓惑,長吁一口氣:“原來是場噩夢啊……” “哼褐奴!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起于毙,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤敦冬,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后唯沮,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體脖旱,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年介蛉,在試婚紗的時候發(fā)現(xiàn)自己被綠了萌庆。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡币旧,死狀恐怖踊兜,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情佳恬,我是刑警寧澤捏境,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站毁葱,受9級特大地震影響垫言,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜倾剿,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一筷频、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧前痘,春花似錦凛捏、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至最欠,卻和暖如春示罗,著一層夾襖步出監(jiān)牢的瞬間惩猫,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工蚜点, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留轧房,地道東北人。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓绍绘,卻偏偏與公主長得像奶镶,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子陪拘,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,933評論 2 355

推薦閱讀更多精彩內(nèi)容