Vue2.js - 调用对象内的方法和回调(此问题)



>上下文

我正在使用Vue2.js来实现选择器选项来预选日期范围。我创建了一个函数createDate它听起来的样子。DatePicker组件来自这里

问题

我不知道在对象pickerOptions和回调函数中调用函数createdDate的正确方法onClick(picker)

当我这样做时,我收到此错误Uncaught TypeError: this.createdDate is not a function.这是有道理的,因为this引用

Object {__ob__: Observer}
onClick:function onClick(picker)
text:"Last week"

我应该怎么做才能访问我的函数createDate或如何调用它?

export default {
         name: 'app',
         data() {
             return {
                 private: {
                     pickerOptions: {
                         shortcuts: [{
                             text: 'Last week',
                             onClick(picker) {
                                 const end = new Date();
                                 const start = this.createDate(-7);
                                 picker.$emit('pick', [start, end]);
                             }
                         }]
                     }
                 }
             }
         },
         methods: {
             createDate(days, months, years) {
                 let date = new Date();
                 date.setDate(date.getDate() + days);
                 date.setMonth(date.getMonth() + months);
                 date.setFullYear(date.getFullYear() + years);
                 return date;
             },
         }
     };

数据函数中获取引用应该可以让您进一步使用它。试试这个

data() { 
    let self = this;
    return { 
     .... 
       const start = self.$options.methods.createDate(-7);
    }
} 

最新更新