欢迎光临散文网 会员登陆 & 注册

delete和Vue.delete(this.$delete)的区别

2022-10-24 15:25 作者:对白浅浅  | 我要投稿

<!DOCTYPE html>

<html lang="en">


<head>

    <meta charset="UTF-8">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</title>

</head>


<body>

    <div id="app">

        {{message}}

    </div>

    <!-- 此行代码要接触注释引入vue.js -->

    <!-- <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script> -->

    <script>

// 删除数组

// delete:只是把数组元素的值变成empty或undefined,元素的键不变,数组长度不变

// Vue.$delete:直接删除数组中的元素,改变数组的键值和长度


// 删除对象

// 两者相同,都会把键名(键名/字段)和键值删除


// 共同点:两者都不能删除变量

    </script>

    <Script>

        var app = new Vue({

            el: '#app',

            data: {

                message: 'Hello Vue!',

                object: {

                        name: "xiaoming",

                        age: 24,

                        gender: "man",

                },

                array: [1, 2, 3, 4, 5]

            },

            mounted() {

                delete this.object.age

                console.log(this.object,"11111111111111111")  //{name:"xiaoming",gender:"man"}     //此处不知道为什么会被this.$delete()的代码影响 对象只剩下{gender:"man"}


                // this.$delete(this.object, "name")

                // console.log(this.object,"22222222222222222")  //{gender:"man"}


                let that = this

                setTimeout(function(){

                    that.$delete(that.object, "name")

                    console.log(that.object,"22222222222222222")

                },1000)

                //计时器延时后,还是会影响上面的代码

               

                delete this.array[3]

                console.log(this.array,"333333333333333333")  //[1, 2, 3, empty, 5]

                console.log(this.array.length)  //5


                this.$delete(this.array, 0)

                console.log(this.array,"444444444444444444") //[2, 3, empty, 5]

            }


        })

    </Script>

</body>

</html>


delete和Vue.delete(this.$delete)的区别的评论 (共 条)

分享到微博请遵守国家法律