解构赋值报错

组件中this.privacy是用mapState从state里面获取的数据 下面这样写一直报这个错 提示:Unexpected token我这个哪里写的不对?

组件中

data () {    return {
      item1: '',
      item2: '',
      item3: '',
      item4: ''
    }
},
mounted () {    if (this.privacy) {
      let { this.item1, this.item2, this.item3, this.item4 } = { ...this.privacy }
    }
  }

state里面的数据

privacy: {
    item1: 1,
    item2: 1,
    item3: 1,
    item4: 1}

https://img.mukewang.com/5c8471d70001f2a906620122.jpg


慕码人2483693
浏览 771回答 2
2回答

12345678_0001

{ this.item1, this.item2, this.item3, this.item4 } = { ...this.privacy }这里this.item1是什么?是个数字或者字符串之类的。官方说了:解构赋值语法是一个 Javascript 表达式,这使得可以将值从数组或属性从对象提取到不同的变量中。注意后面,变量。this.item1取到的显然不是个变量。

阿晨1998

1 . 左边与右边要有映射关系 你这 左边 this.item 跟右边怎么 映射2 . 一般情况解构的左边要有声明 var let const,大括号开头会被解析成代码块 {xxx} 不是一个完整的表达式,要用 ()包起来const o = {}; ({name: o.n} = {name:'123'});console.log(o); // {n:'123'}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript