javascript - Ist ... im folgenden Code ein Spread-Operator oder ein Operationsoperator? Was bedeutet es, so zu schreiben?
漂亮男人
漂亮男人 2017-06-26 10:52:17
0
3
917

Code in vuex

computed:{
    ...mapState(["count"]),
    count(){
        return this.$store.getters.count;
    }
},

Was bedeutet ... vor mapState? Was ist der Unterschied zwischen dem Hinzufügen und dem Nicht-Hinzufügen? Ich habe die entsprechende Dokumentation des Spread-Operators und des Operations-Operators gesehen, verstehe sie aber immer noch nicht ganz. Ich hätte gerne eine detailliertere Erklärung. .

漂亮男人
漂亮男人

Antworte allen(3)
仅有的幸福

自己写几个例子不就知道了…………比如:

const state = {
    a: 1,
    b: 2,
    c: 3
};
const now = {
    ...state,
    d: 4,
    e: 5
};

console.log(now);

这个语法大部分浏览器还不支持,所以你可以先去babel转一下,把转码后的代码直接放到控制台运行,看看出来的是啥。这个运算符其实挺简单的……

给我你的怀抱

... 把对象在此地展开为键值对。如果直接写,有语法错误或者逻辑错误。

借用 @xiaoboost 的例子:

有 ... 运算符,点击查看

const state = {
    a: 1,
    b: 2,
    c: 3
};
const now = {
    ...state,
    d: 4,
    e: 5
};

console.log(now);

结果是

Object {
  "a": 1,
  "b": 2,
  "c": 3,
  "d": 4,
  "e": 5
}

没有 ... 运算符,点击查看

结果是:

Object {
  "d": 4,
  "e": 5,
  "state": Object {
    "a": 1,
    "b": 2,
    "c": 3
  }
}
ringa_lee

...mapState(["count"])
加...是为了将mapState对象分割,返回分离的各项,就可与局部计算属性(computed)混合使用了
不加... mapState可是一个对象 computed也是一个对象 那就得一个一个的属性赋值吧
或者你computed对象里不打算有其他属性,你直接computed:mapState(["count"])应该也可以

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage