Vue数据的监听

Posted wdbgqq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue数据的监听相关的知识,希望对你有一定的参考价值。

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <meta http-equiv="x-ua-compatible" content="IE=edge">
 6     <meta name="viewport" content="width=device-width, initial-scale=1">
 7     <title>Title</title>
 8     <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.js"></script>
 9 </head>
10 <body>
11 <div id="app">
12     {{name}}
13     {{hobby}}
14     {{xuge_obj}}
15 
16     <button @click="my_click">点击改变数据</button>
17 </div>
18 <script>
19     const app = new Vue({
20         el: "#app",
21         data: {
22             name: "旭哥",
23             hobby: ["唱歌", "跳舞", "请客吃饭"],
24             xuge_obj: {
25                 obj1: "王铁锤",
26                 obj2: "李刚蛋"
27             }
28         },
29         methods: {
30             my_click: function () {
31                 // this.name = "病变"
32                 // this.hobby.push("烫头")
33                 // this.hobby[0] = "狼嚎"
34                 // console.log(this.hobby)
35                 // 用下面这种方法改变数据里的值
36                 // app.$set(this.hobby, 0, "狼嚎")
37                 this.xuge_obj.obj1 = "小粉嫩"
38             }
39         },
40         watch: {
41             name: {
42                 handler: function (val, oldVal) {
43                     console.log(val)
44                     console.log(oldVal)
45                 }
46             },
47             // push改变数据的长度的时候 可以监听到数据改变 新旧值是是一样的
48             // 不能监听到数据里值的改变 深度监听也不可以 除非用$set
49             hobby: {
50                 handler: function (val, oldVal) {
51                     console.log(val)
52                     console.log(oldVal)
53                 },
54                 // deep: true
55             },
56             xuge_obj: {
57                 handler: function (val, oldVal) {
58                     console.log(val)
59                     console.log(oldVal)
60                 },
61                 deep: true
62             }
63         }
64     })
65 </script>
66 </body>
67 </html>

 

以上是关于Vue数据的监听的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段1——vue主模板

vue数据监听原理

VSCode自定义代码片段11——vue路由的配置

VSCode自定义代码片段11——vue路由的配置

VSCode自定义代码片段11——vue路由的配置

VSCode自定义代码片段2——.vue文件的模板