日期选择器在另一个路由页面中或在vue js中返回时不起作用?

时间:2017-10-02 12:36:01

标签: javascript jquery vuejs2 bootstrap-modal

我正在开发一个vue js应用程序。有两个路由页面A和B.两个都包含设置选项和3组日期选择器。 如果我在页面A中,那时页面A的日期选择器正在工作,但是当我转到页面B时它不起作用。即使我再次回到A页,它也不起作用。 仅在刷新页面后才能工作。

enter image description here

$(function () {

/// col 1 DateTimePicker
        $('#col1vis').datetimepicker({
            format: 'YYYY-MM-DD'
        });
        $('#col1bis').datetimepicker({
          format: 'YYYY-MM-DD',
            useCurrent: false //Important! See issue #1075
        });
        $("#col1vis").on("dp.change", function (e) {
            $('#col1bis').data("DateTimePicker").minDate(e.date);
        });
        $("#col1bis").on("dp.change", function (e) {
            $('#col1vis').data("DateTimePicker").maxDate(e.date);
        });
        /// col 2 DateTimePicker

        /// col 2 DateTimePicker
              $('#col2vis').datetimepicker({
                  format: 'YYYY-MM-DD'
              });
              $('#col2bis').datetimepicker({
                format: 'YYYY-MM-DD',
                  useCurrent: false //Important! See issue #1075
              });
              $("#col2vis").on("dp.change", function (e) {
                  $('#col2bis').data("DateTimePicker").minDate(e.date);
              });
              $("#col2bis").on("dp.change", function (e) {
                  $('#col2vis').data("DateTimePicker").maxDate(e.date);
              });

        /// col 2 DateTimePicker
              $('#col3vis').datetimepicker({
                  format: 'YYYY-MM-DD'
              });
              $('#col3bis').datetimepicker({
                format: 'YYYY-MM-DD',
                  useCurrent: false //Important! See issue #1075
              });
              $("#col3vis").on("dp.change", function (e) {
                  $('#col3bis').data("DateTimePicker").minDate(e.date);
              });
              $("#col3bis").on("dp.change", function (e) {
                  $('#col3vis').data("DateTimePicker").maxDate(e.date);
              });
    });

1 个答案:

答案 0 :(得分:1)

你永远不能对Vuejs管理的元素进行更改,因为Vue不会意识到这一变化,并且会在下一个更新周期中将其覆盖并覆盖它。

所以你可以尝试将你的日期选择器包装到一个新的组件中,或者更好,尝试在Vue中思考并放弃jQuery。

您可以在此链接中阅读如何安全地将jQuery与Vuejs一起使用:https://vuejsdevelopers.com/2017/05/20/vue-js-safely-jquery-plugin/