溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在vue中使用laydate時間插件

發布時間:2021-03-25 17:44:30 來源:億速云 閱讀:715 作者:Leah 欄目:web開發

本篇文章為大家展示了如何在vue中使用laydate時間插件,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

在vue中使用laydate

在vue組件中npm install laydate,然后在vue組件中直接引入:

import laydate from 'laydate'

然后在mounted中調用:

laydate.now();

發現chrome瀏覽器控制臺中報錯,laydate is not defined,然后把laydate.js放在靜態資源里面引入:

import laydate from '../../static/js/laydate.js'

發現chrome瀏覽器控制臺中依然是報錯,laydate is not defined,然后在html入口文件中引入:

<script src="./src/static/js/laydate.js"></script>

發現chrome瀏覽器控制臺中不報,laydate is not defined,但是又報另外一個錯誤:require is not defined,查看原碼發現是因為laydate.js中在引用css樣式表時未定義:require('./need/laydate.css');require('./skins/default/laydate.css'); 

最后使用laydate打包構建后的文件:dist/laydate/laydate.min.js,把laydate.min.js和css粘貼到src/static/路徑下,注意js和css結構不要改變

<script src="./src/static/laydate/laydate.min.js"></script>

然后在chrome瀏覽器中成功打印出了laydate.now()的值:2018-10-21

然后使用import方式引入laydate.min.js:

import laydate from '../../static/laydate/laydate.min.js'

chrome控制臺里有報錯:laydate.now is not a function

原因時laydate.min.js是直接把laydate對象注冊到了window上,本身并沒有export default laydate出口,所以不能使用這種方式引用,應該使用:

import '../../static/laydate.min.js'

這樣引用后,chrome中成功打印laydate.now(); 2018-10-21

或者在入口文件index.html中使用cdn加速方式引入laydate.min.js也是可以的:

<script src="https://cdn.jsdelivr.net/npm/laydate@1.0.7/dist/laydate.min.js"></script>

當然,如果項目中只是個別地方是使用到時間插件,建議采用import方式引入

laydate.min.js時間插件在vue組件中的使用方式

<template>
  <div id="laydateIndex">
    <div class="input-item">
      <label for="">請選擇時間:</label>
      <input type='text' 
          name='houseChangeTime' 
          placeholder='請選擇日期' 
          class='form-control' 
          onclick="laydate({ istime: true, format: 'YYYY/MM/DD hh:mm:ss' })" />
    </div>
    <div class="input-item">
      <label for="">開始時間:</label>
      <input type="text" name="" id="begintime" placeholder='請選擇日期'>
    </div>
    <div class="input-item">
      <label for="">結束時間:</label>
      <input type="text" name="" id="endtime" placeholder='請選擇日期'>
    </div>
  </div>
</template>
<script>
  import '../../assets/js/laydate.min.js'
  export default {
    name: 'laydateIndex',
    data () {
      return {
        begintime: '',
        endtime: '',
        start_time: '',
      }
    },
    methods: {
      setBeginTime () {
        var _this = this;
        var mintime = laydate.now(0, 'YYYY-MM-DD hh:mm:ss');
        _this.$data.begintime = mintime;
        _this.$data.endtime = mintime;
        var begintiem_options = {
          elem: '#begintime',
          format: 'YYYY-MM-DD hh:mm:ss', // 分隔符可以任意定義
          event: 'click', //觸發事件
          istime: true, //是否開啟時間選擇
          isclear: true, //是否顯示清空
          issure: true, //是否顯示確認
          festival: true, //是否顯示節日
          min: mintime, //最小日期
          max: '2099-12-31 23:59:59', //最大日期
          start: mintime, //開始日期
          fixed: true, //是否固定在可視區域
          zIndex: 99999999, //css z-index
          choose: function(dates) { // 選擇日期完畢的回調
            endtime_options.start = dates;
            endtime_options.min = dates;
            _this.$data.begintime = dates;
            _this.$data.endtime = dates;
          }
        };
 
        var endtime_options = {
          elem: '#endtime',
          format: 'YYYY-MM-DD hh:mm:ss', // 分隔符可以任意定義
          event: 'click', //觸發事件
          istime: true, //是否開啟時間選擇
          isclear: true, //是否顯示清空
          issure: true, //是否顯示確認
          festival: true, //是否顯示節日
          min: _this.$data.begintime, //最小日期
          max: '2099-12-31 23:59:59', //最大日期
          start: _this.$data.begintime, //開始日期
          fixed: true, //是否固定在可視區域
          zIndex: 99999999, //css z-index
          choose: function(dates) { // 選擇日期完畢的回調
            // this.begintiem_options = dates;
          }
        };
 
        laydate(begintiem_options);
        laydate(endtime_options);
        
      },
      initPage () {
        var _this = this;
        _this.setBeginTime();
      },
    },
    mounted () {
      this.initPage();
    },
  }
</script>

上述內容就是如何在vue中使用laydate時間插件,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女