Javascript 未设置Vue.js字段

Javascript 未设置Vue.js字段,javascript,vue.js,Javascript,Vue.js,我正在使用Vue作为日期选择器 我可以看到日期,可以单击它并选择它,但是当我尝试使用getDate方法检索日期时,它总是null 如果有人能提供帮助,代码就在这里,这将非常棒: var overviewVue; function initOverviewVue(model) { overviewVue = new Vue({ el: '#overviewVue', data: { OverviewModel: model,

我正在使用Vue作为日期选择器

我可以看到日期,可以单击它并选择它,但是当我尝试使用
getDate
方法检索日期时,它总是
null

如果有人能提供帮助,代码就在这里,这将非常棒:

var overviewVue;

function initOverviewVue(model) {


    overviewVue = new Vue({
        el: '#overviewVue',
        data: {
            OverviewModel: model,
            repeatSchedule: [],
            startDate: ''
        },
        
       
        methods: {
            setOverviewDatePickers: function (target) {
                var $target = $(target);

                $target.daterangepicker({
                    autoUpdateInput: false,
                    locale: {
                        format: 'DD/M hh:mm',
                        cancelLabel: 'Clear'
                    },
                    timePicker24Hour: true,
                    timePicker: true,
                    singleDatePicker: true,
                    showDropdowns: true
                }, function (chosen_date) {
                    this.startDate = chosen_date.format('DD/MM/YYYY HH:mm');
                    $target.val(this.startDate);
                });
            },
            getDate: function () {
                return this.startDate;
            }
        }
    });
}

我发现这里有几个问题

看起来您选择的日期选择器是一个jQuery日期选择器,理想情况下,您可以找到一个为Vue生态系统构建的日期选择器,如。为了这个问题,我将忽略这个问题

在您设置
this.startDate
的回调代码中,
this
不是您认为的那样,因为您进行了另一个函数调用

尝试将代码更改为箭头函数(假设您可以支持),然后
将具有您要查找的词法范围:

(chosen_date) => {
  this.startDate = chosen_date.format('DD/MM/YYYY HH:mm');
  $target.val(this.startDate);
}

现在
这个.startDate应该是您认为的。理想情况下,我会推荐一些专为Vue打造的产品,如,这样您就不会轻易遇到像这样愚蠢的事情。

maxshuty,精彩的回应,非常感谢您为我做到了这一点。干杯,伙计。