이 글은 주로 Vue 데이터 모니터링 방법 watch의 사용을 소개합니다. 이제 공유하고 참고하겠습니다. 함께 살펴볼까요
watch 자체는 이해하기 쉽습니다. Watch는 뷰에 있는 데이터를 특정 기능과 연관시키는 역할을 담당합니다.
Vue 뷰에 있는 데이터가 변경되면 연관된 기능이 실행됩니다
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>监听方法watch的使用</title> <script src="https://cdn.bootcss.com/vue/2.5.16/vue.js"></script> </head> <body> <p id="root"></p> <script> var vm = new Vue({ el: "#root", data: { obj: {name: "zhaoolee", age: 12} , tel:6666666}, template: `<p><p>姓名: {{obj.name}}</p> <p>电话: {{tel}}</p> <input type="text" v-model="obj.name"> <input type="text" v-model="tel"></p>`, watch: { obj: { handler(){ console.log("obj被改变"); }, // 页面加载之初先执行一次handle immediate: true, // 深度检查属性,即使对象内部的属性值改变, 也能检测到(比较消耗性能) deep: true }, "obj.name": { handler(){ console.log("=>obj.name被改变"); } }, tel:{ handler(){ console.log("tel被改变"); } } } }) </script> </body> </html>
는 객체에 해당하고, 키는 관찰 표현식, 값은 해당 콜백입니다. 값은 메서드 이름일 수도 있고 옵션이 포함된 개체일 수도 있습니다. 인스턴스화 시 각 키에 대해 $watch()를 호출합니다.
//使用官方vue-cli脚手架书写 <template> //观察数据为字符串或数组 <input v-model="example0"/> <input v-model="example1"/> /当单观察数据examples2为对象时,如果键值发生变化,为了监听到数据变化,需要添加deep:true参数 <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:{ //注意:当观察的数据为对象或数组时,curVal和oldVal是相等的,因为这两个形参指向的是同一个数据对象 handler(curVal,oldVal){ conosle.log(curVal,oldVal) }, deep:true } }, methods:{ a(curVal,oldVal){ conosle.log(curVal,oldVal) } } } </script>
위 내용은 Vue 데이터 청취 방법 시계 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!