- 資訊首頁(yè) > 開(kāi)發(fā)技術(shù) > web開(kāi)發(fā) > JavaScript >
- Vue之監聽(tīng)方法案例詳解
watch
注意
名字 你想監聽(tīng)哪個(gè)屬性,就要和他起一樣的名字
用來(lái)監聽(tīng)vue實(shí)例中的數據變化
可以隨時(shí)修改狀態(tài)的變化
當你監聽(tīng)的屬性發(fā)生變化時(shí),會(huì )自動(dòng)調用對應的監聽(tīng)方法
用于異步處理,開(kāi)銷(xiāo)比較大的運算
watch:{ name(newvalue,oldvalue){ //計算屬性可以接受兩個(gè)參數,第一個(gè)參數是新的屬性值,第二參數是老的屬性值 // this.age // console.log('name屬性發(fā)生變化了') console.log(newvalue,oldvalue) }
<script> export default { data() { return { obj: { name: "張三", age: 20, children: [ { name: "李四", age: 27 }, { name: "王五", age: 23 } ] } }; }, watch: { obj: { handler: function(newVal, oldVal) { console.log("newVal:", newVal); console.log("oldVal:", oldVal); }, deep: true, immediate: true }, "obj.name": function(newVal, oldVal) { console.log("newVal obj.name:", newVal); console.log("oldVal obj.name:", oldVal); } }, }; </script>
監聽(tīng)對象的時(shí)候,需要加deep:true,這樣才能深入底層去實(shí)時(shí)監聽(tīng),如果沒(méi)有加的話(huà),對象是監聽(tīng)不到變化的。
immediate屬性:布爾值
immediate:true:首次加載就監聽(tīng)數據變化
immediate:false:只有發(fā)生改變才監聽(tīng)
deep:true;
是開(kāi)啟深層次的監聽(tīng),即所有屬性都加上監聽(tīng)器,如果其中一個(gè)發(fā)生改變了就執行handler函數。
到此這篇關(guān)于Vue之監聽(tīng)方法案例詳解的文章就介紹到這了,更多相關(guān)Vue之監聽(tīng)方法內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站