<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
前面篇介紹了computed和watch的基本使用vue2.x版詳解computed和watch的使用
兩者的區別,繼續通過程式碼實現的方式具體去了解
html
<li>最開始的value值:{{ name }}</li> <li>computed計算後的值:{{ computedName }}</li> <li> watch修改後的值:{{ watchName }} <input type="text" v-model="watchName" /> </li> <li><button @click="handleNumber">修改名字</button></li>
JS
data() { return { name: "zhangsan", watchName: "張三", }; }, watch: { watchName(newVal, oldVal) { console.log("舊的值---->", newVal); console.log("新的值---->", oldVal); console.log("watch下所有的狀態都會監聽this.name---->", this.name); console.log( "watch下所有的狀態都會監聽this.computedName---->", this.computedName ); this.watchName = newVal; }, }, computed: { computedName: function (currentThis) { console.log( "和計算屬性無關的狀態發生更改時,不會執行,只要依賴的狀態發生更改,快取才會更新", currentThis ); return `依賴於name,:${this.name}`; }, }, methods: { handleNumber() { this.name = "lisi"; }, },
依賴值: computed依賴於所使用的狀態,類似在data中宣告的name,
而watch中監聽的值不依賴於某個值,只要元件狀態發生更改,監聽的值就實時獲取最新值,
computed的實現使用的是getter和setter獲取值,屬於同步操作。
使用方法:
在官方檔案中,除了在元件中使用的watch外,官方檔案中,還有對於範例中watch的介紹
具體用法可以在官網中:
$watch基礎使用–來自官方檔案例子
官方檔案提示:
注意:在變更 (不是替換) 物件或陣列時,舊值將與新值相同,因為它們的參照指向同一個物件/陣列。Vue 不會保留變更之前值的副本。
vm.$watch('a.b.c', function (newVal, oldVal) { // 做點什麼 }) // 函數 vm.$watch( function () { // 表示式 `this.a + this.b` 每次得出一個不同的結果時 // 處理常式都會被呼叫。 // 這就像監聽一個未被定義的計算屬性 return this.a + this.b }, function (newVal, oldVal) { // 做點什麼 } )
需要注意的是,如果使用vm.$watch,那麼使用unwatch有助於我們取消對某個狀態的監聽,減少不必要的監聽和互動開銷
var unwatch = vm.$watch('a', cb) // 之後取消觀察 unwatch()
花了兩個篇幅去介紹watch和computed的使用方法,以及這兩個勾點函數的區別,在實際的企業專案開發中,使用的場景和次數較多,所以儘量寫的稍微詳細一些,同時也將筆記的程式碼放在了開源倉庫,希望對大家在開發vue2.x的專案中有所幫助
到此這篇關於vue2.x版本中computed和watch的使用及關聯和區別的文章就介紹到這了,更多相關vue2.x computed與watch 內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45