好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

关于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属性

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

查看更多关于关于delete和Vue.delete的区别及说明的详细内容...

  阅读:36次