logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

vue 为什么组件的data要写成返回对象的函数

原因:对象为引用类型,当重用组件时,由于数据对象都指向同一个data对象,当在一个组件中修改data时,其他重用的组件中的data会同时被修改;而使用返回对象的函数,由于每次返回的都是一个新对象(Object的实例),引用地址不同,则不会出现这个问题上面解释完,你可能还是不大清楚,下面我们举个简单的例子:// 1.对象方式(所有重用的实例中的data均为同一个对象)var da...

vue(2.x) 响应式修改数据(对象、数组)及难点(坑)

背景1. Vue不能检测对象属性的添加、删除(仅此而已,可直接对该对象重新赋值、修改该对象或内层对象的属性)2. Vue不能检测数组的项修改(根据index)、length修改(仅此而已,可直接对数组重新赋值,如使用filter、map、concat、slice等方式生成新数组对其赋值)对象1. $set、set、$delete、delete// $set是Vue.s...

vue 两种Object.assign响应式修改对象方式

两种写法1. this.obj = Object.assign({}, this.obj, {k: v})(推荐写法)推荐原因: this.obj可能是父级组件传过来的prop,而为了遵循 单向数据流 的设计理念,不直接修改该数据对象,而是生成一个新的数据对象表达式右侧会生成一个新的对象,this.obj会指向一个新的引用地址(常用于 浅拷贝 对象) 2. this.obj =...

ts 特殊符号用法

1. 属性或参数中使用 ?:表示该属性或参数为可选项2. 属性或参数中使用 !:表示强制解析(告诉typescript编译器,这里一定有值),常用于vue-decorator中的@Prop3. 变量后使用 !:表示类型推断排除null、undefined 欢迎关注、点赞...

到底了