关于delete和Vue.delete的区别及说明
作者:燕穗子博客
这篇文章主要介绍了关于delete和Vue.delete的区别及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
delete和Vue.delete的区别
delete和和Vue.delete都是对数组或对象进行删除的方法。
这两种方法对于对象来说其实是没有区别的,使用方法会直接删除对象的属性(物理删除)
let obj = { name: 'fufu', age: 20 } // delete obj.age => {name: 'fufu'} // Vue.delete(obj, 'age') => {name: 'fufu'} // 测试发现对于对象来说delete和Vue.delete是没有任何区别的
但是这两种方法对于数组来说就有区别了。
let arr = [1,2,3,4,5] delete arr[2] //[1,2,empty,4,5] Vue.delete arr[2] //[1,2,4,5]
delete
只是被删除的元素变成了 empty/undefined 其他的元素的键值还是不变。数组长度也不变。(逻辑删)Vue.delete
是直接删除该元素,长度发生变化。(物理删)
vue vue.set vue.delete具体用法
vue.set是vue原生的API
具体的使用就是给特定的对象加一个属性,话不多说上代码
export default() { data() { food: { name: 'apple' } } } ... Vue.$set(food, 'count', 1);
这段代码的意思是,在food这个对象中插入count的属性,并赋值为1
vue.delete是vue原生的API
还以上面的例子为例
export default() { data() { food: { name: 'apple' } } } ... Vue.$delete(food, 'name');
这段代码的意思是,删除food对象中的name属性
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。