Vue數(shù)據(jù)監(jiān)聽方法watch的使用
watch本身很容易理解, watch負責將視圖中的數(shù)據(jù)與某個函數(shù)關(guān)聯(lián)起來
當Vue視圖中的數(shù)據(jù)變化時, 關(guān)聯(lián)的函數(shù)會被執(zhí)行
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>監(jiān)聽方法watch的使用</title> <script src="https://cdn.bootcss.com/vue/2.5.16/vue.js"></script> </head> <body> <div id="root"></div> <script> var vm = new Vue({ el: "#root", data: { obj: {name: "zhaoolee", age: 12} , tel:6666666}, template: `<div><div>姓名: {{obj.name}}</div> <div>電話: {{tel}}</div> <input type="text" v-model="obj.name"> <input type="text" v-model="tel"></div>`, watch: { obj: { handler(){ console.log("obj被改變"); }, // 頁面加載之初先執(zhí)行一次handle immediate: true, // 深度檢查屬性,即使對象內(nèi)部的屬性值改變, 也能檢測到(比較消耗性能) deep: true }, "obj.name": { handler(){ console.log("=>obj.name被改變"); } }, tel:{ handler(){ console.log("tel被改變"); } } } }) </script> </body> </html>
對應(yīng)一個對象,鍵是觀察表達式,值是對應(yīng)回調(diào)。值也可以是方法名,或者是對象,包含選項。在實例化時為每個鍵調(diào)用 $watch() ;
//使用官方vue-cli腳手架書寫 <template> //觀察數(shù)據(jù)為字符串或數(shù)組 <input v-model="example0"/> <input v-model="example1"/> /當單觀察數(shù)據(jù)examples2為對象時,如果鍵值發(fā)生變化,為了監(jiān)聽到數(shù)據(jù)變化,需要添加deep:true參數(shù) <input v-model="example2.inner0"/> </template> <script> export default { data(){ return { example0:"", example1:"", example2:{ inner0:1, innner1:2 } } }, watch:{ example0(curVal,oldVal){ console.log(curVal,oldVal); }, example1:'a',//值可以為methods的方法名 example2:{ //注意:當觀察的數(shù)據(jù)為對象或數(shù)組時,curVal和oldVal是相等的,因為這兩個形參指向的是同一個數(shù)據(jù)對象 handler(curVal,oldVal){ conosle.log(curVal,oldVal) }, deep:true } }, methods:{ a(curVal,oldVal){ conosle.log(curVal,oldVal) } } } </script>
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
vue刷新頁面后params參數(shù)丟失的原因和解決方法
這篇文章主要給大家介紹了vue刷新頁面后params參數(shù)丟失的原因和解決方法,文中通過代碼示例給大家介紹的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下2023-12-12vue3+elementui-plus實現(xiàn)無限遞歸菜單示例代碼
這篇文章主要介紹了vue3+elementui-plus實現(xiàn)無限遞歸菜單,當一個組件的 key 值發(fā)生變化時,Vue 會認為這是一個新的組件實例,會強制重新創(chuàng)建和渲染這個組件,本文通過示例代碼詳細講解,需要的朋友可以參考下2024-04-04vue組件定義,全局、局部組件,配合模板及動態(tài)組件功能示例
這篇文章主要介紹了vue組件定義,全局、局部組件,配合模板及動態(tài)組件功能,結(jié)合實例形式分析了vue.js中組件的定義、全局組件、局部組件、配合模板組件及動態(tài)組件的相關(guān)使用方法與操作注意事項,需要的朋友可以參考下2019-03-03Laravel 如何在blade文件中使用Vue組件的示例代碼
這篇文章主要介紹了Laravel 如何在blade文件中使用Vue組件,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-06-06vue2筆記 — vue-router路由懶加載的實現(xiàn)
本篇文章主要介紹了vue2筆記 — vue-router路由懶加載示例,實例分析了vue-router路由懶加載的實現(xiàn),具有一定參考借鑒價值,需要的朋友可以參考下2017-03-03