zoukankan      html  css  js  c++  java
  • Vue数据的监听

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    </head>
    <body>
    <div id="app">
    {{name}}
        {{hobby}}
        {{xuge_obj}}
        <button @click="my_click">点击改变数据</button>
    </div>
    <script>
        const app = new Vue({
            el:"#app",
            data:{
                name:"旭哥",
                hobby:["q","w","e"],
                xuge_obj:{
                    obj1:"12",
                    obj2:"33"
                }
            },
            methods:{
                my_click:function () {
                    //this.name = "xx"
                    // this.hobby.push("")
                    this.hobby[0] = "狼嚎"
                    console.log(this.hobby)
                }
            },
            watch:{
                name:{
                    handler:function (val,oldval) {
                        console.log(val),
                        console.log(oldval)
                    }
                },
                //push改变数据的长度的时候,可以监听到数据改变 新旧值是一样的
                hobby:{
                    handler:function (val,oldval) {
                        console.log(val),
                        console.log(oldval)
                    },
                    //deep为深度监听,深度监听也监听不到
                    deep:true
                }
            }
        })
    </script>
    </body>
    </html>

    这个时候   this.hobby[0] = "狼嚎"  无法被监听到,需要将   this.name = "xx"打开,

    因为这样就更改了数值,会重新渲染页面,this.hobby[0] = "狼嚎"便会被监听到并且渲染到页面

    或者将this.hobby[0] = "狼嚎"  更改为   app.$set(this.hobby,0,"狼嚎")也会点击后修改

    在数据监听中数组有很多的坑

  • 相关阅读:
    Spark2.x学习笔记:Spark SQL程序设计
    Spark2.x学习笔记:Spark SQL的SQL
    Spark2.x学习笔记:Spark SQL快速入门
    Hystrix入门执行过程
    redis配置master-slave模式
    MockServer 入门
    Locust分布式负载测试工具入门
    poi读取excel元素
    hadoop+spark集群搭建入门
    Vi文档
  • 原文地址:https://www.cnblogs.com/jiadi321/p/9881452.html
Copyright © 2011-2022 走看看