...在Java语言中起什么作用?

时间:2018-08-23 13:28:27

标签: javascript

我正在学习VueJ,在此沙盒https://codesandbox.io/s/o29j95wx9中,有这样的行

<script>
export default {
  props: {
    value: {
      type: String,
      default: '',
    }
  },
  computed: {
    listeners () {
      return {
        // Pass all component listeners directly to input
        ...this.$listeners,
        // Override input listener to work with v-model
        input: event => this.$emit('input', event.target.value)
      }
    }
  }
}
</script>

...中的...this.$listeners,是做什么的?我尝试搜索它,但是每个搜索引擎都会过滤掉该查询。我不知道这叫什么。

我也看到它在vuex中使用过

computed: {
   ...mapGetters({
      currentData: 'viewerGetCurrentDocument',
      folders: 'viewerGetFoldersList'
   }),

2 个答案:

答案 0 :(得分:1)

它是spread operator。它可以将对象或数组解构为其组成的属性或元素,以便可以在通常用逗号分隔的地方使用它们,例如函数参数列表或对象和数组文字内部。

答案 1 :(得分:1)

这称为点差运算符,您可以在此处查看更多信息 https://davidwalsh.name/spread-operator

您可以组合数组并合并对象。

您也可以在函数声明参数中使用它:

function f(...args) {
  // args is array here
}

它可以在多种情况下使用,但是您可以在链接中进行研究