如何在Vue.js中获得$ emit Payload的值

时间:2019-05-14 13:10:18

标签: vue.js events

我是vuejs的新手,必须使用日期范围选择器。我使用vue-rangedate-picker,并选择了日期范围后,触发了$ emit类型的事件,并在事件的有效负载中找到了所需的值,如下所示(事件信息来自vue调试器):

name: "selected"
type: "$emit"
source: "<vue-rangedate-picker>"
payload: Array[1]
  0: Object
    end: "Fri May 31 2019 05:30:00 GMT+0530 (India Standard Time)"
    start: "Wed May 01 2019 05:30:00 GMT+0530 (India Standard Time)"

我需要获取有效负载中的值,以便可以分配给变量并在以后使用它们。我试图寻找解决办法数小时,但没有运气。 这是元素

<vue-rangedate-picker
  righttoleft="true"
  i18n="EN"
  format="YYYY-MM-DD HH:mm:ss"
  @selected="testDatePicker()"
></vue-rangedate-picker>

和脚本

testDatePicker() {
  console.log(/*what should I write here to get the payload?*/);
}

如何获取有效载荷值,以便可以将其分配给变量?请帮助我。

1 个答案:

答案 0 :(得分:1)

您的函数testDatePicker将以以下形式接收范围:

testDatePicker({start, end}) {
  console.log(start, end);
}

或者,如果您愿意:

testDatePicker(range) {
  console.log(range.start, range.end);
}

此外,您不应在通话中使用括号:

<vue-rangedate-picker
  righttoleft="true"
  i18n="EN"
  format="YYYY-MM-DD HH:mm:ss"
  @selected="testDatePicker"
></vue-rangedate-picker>

类似,您将“引用”传递给您的方法,组件将使用所需的参数对其进行调用。