欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue中使用Day.js時間轉(zhuǎn)化插件詳細教程(附Vue2與Vue3寫法)

 更新時間:2025年05月27日 09:53:52   作者:碼上前端  
Day.js是一個極簡的JavaScript庫,可以為現(xiàn)代瀏覽器解析、驗證、操作和顯示日期和時間,這篇文章主要介紹了Vue中使用Day.js時間轉(zhuǎn)化插件的相關(guān)資料,需要的朋友可以參考下

一、引言

在前端開發(fā)中,日期和時間的處理是常見需求。Day.js 是一個輕量級的 JavaScript 日期處理庫,與 Moment.js 功能類似,但體積更小、速度更快。在 Vue 項目里,使用 Day.js 能方便地進行日期格式化、計算、比較等操作。不過,由于 Vue 2 和 Vue 3 在語法和架構(gòu)上存在差異,在這兩個版本中使用 Day.js 的方式也有所不同。下面我們就分別介紹在 Vue 2 和 Vue 3 中如何使用 Day.js 插件。

二、在 Vue 2 中使用 Day.js

2.1 安裝 Day.js

首先,需要在項目中安裝 Day.js。可以使用 npm 或 yarn 進行安裝:

npm install dayjs --save
# 或者
yarn add dayjs

2.2 全局引入和使用

在 Vue 2 里,通常會在入口文件(如 main.js)中全局引入 Day.js,這樣在所有組件中都能使用。

// main.js
import Vue from 'vue';
import App from './App.vue';
import dayjs from 'dayjs';

// 定義一個全局過濾器用于日期格式化
Vue.filter('formatDate', (value, format = 'YYYY-MM-DD') => {
  return dayjs(value).format(format);
});

new Vue({
  render: h => h(App)
}).$mount('#app');

在上述代碼中,我們定義了一個名為 formatDate 的全局過濾器,它接收一個日期值和一個可選的格式字符串作為參數(shù),使用 Day.js 對日期進行格式化。

2.3 在組件中使用過濾器

在組件的模板中,可以直接使用這個全局過濾器。

<template>
  <div>
    <p>格式化后的日期: {{ currentDate | formatDate }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      currentDate: new Date()
    };
  }
};
</script>

2.4 局部使用 Day.js

除了全局引入,也可以在單個組件中局部引入 Day.js

<template>
  <div>
    <p>格式化后的日期: {{ formattedDate }}</p>
  </div>
</template>

<script>
import dayjs from 'dayjs';

export default {
  data() {
    return {
      currentDate: new Date()
    };
  },
  computed: {
    formattedDate() {
      return dayjs(this.currentDate).format('YYYY-MM-DD');
    }
  }
};
</script>

三、在 Vue 3 中使用 Day.js

3.1 安裝 Day.js

同樣,先使用 npm 或 yarn 安裝 Day.js:

npm install dayjs --save
# 或者
yarn add dayjs

3.2 全局引入和使用

在 Vue 3 中,結(jié)合 createApp 創(chuàng)建應(yīng)用實例,可以在 main.js 中全局引入 Day.js 并定義全局屬性或指令。

// main.js
import { createApp } from 'vue';
import App from './App.vue';
import dayjs from 'dayjs';

const app = createApp(App);

// 定義全局屬性
app.config.globalProperties.$dayjs = dayjs;

app.mount('#app');

在上述代碼中,我們將 Day.js 掛載到全局屬性 $dayjs 上,這樣在所有組件中都可以通過 this.$dayjs 來使用 Day.js。

3.3 在組件中使用全局屬性

<template>
  <div>
    <p>格式化后的日期: {{ formattedDate }}</p>
  </div>
</template>

<script setup>
import { getCurrentInstance } from 'vue';

const { appContext } = getCurrentInstance();
const dayjs = appContext.config.globalProperties.$dayjs;

const currentDate = new Date();
const formattedDate = dayjs(currentDate).format('YYYY-MM-DD');
</script>

3.4 局部使用 Day.js

也可以在單個組件中直接局部引入 Day.js。

<template>
  <div>
    <p>格式化后的日期: {{ formattedDate }}</p>
  </div>
</template>

<script setup>
import dayjs from 'dayjs';

const currentDate = new Date();
const formattedDate = dayjs(currentDate).format('YYYY-MM-DD');
</script>

四、對比總結(jié)

4.1 引入方式

  • Vue 2:通過 Vue.filter 定義全局過濾器,或者在組件中直接引入使用。
  • Vue 3:使用 createApp 創(chuàng)建應(yīng)用實例后,通過 app.config.globalProperties 掛載全局屬性,也可在組件中直接引入。

4.2 組件使用方式

  • Vue 2:在選項式 API 中,使用 this 訪問全局過濾器或在計算屬性、方法中使用 Day.js。
  • Vue 3:在 Composition API 里,使用 getCurrentInstance 獲取實例上下文來訪問全局屬性,或者直接在 setup 函數(shù)中局部引入使用。

4.3 靈活性

  • Vue 2:基于選項式 API,結(jié)構(gòu)相對固定,在處理復(fù)雜邏輯時可能不夠靈活。
  • Vue 3:Composition API 提供了更高的靈活性,代碼組織更模塊化,更易于復(fù)用和維護。

結(jié)語

無論是 Vue 2 還是 Vue 3,Day.js 都能很好地滿足日期和時間處理的需求。在 Vue 2 中,可以通過全局過濾器或局部引入的方式使用 Day.js;在 Vue 3 中,則可以借助全局屬性或局部引入來實現(xiàn)。開發(fā)者可根據(jù)項目的具體情況和個人喜好,選擇合適的使用方式。如果你在使用 Day.js 時遇到任何問題或有不同的使用經(jīng)驗,歡迎在評論區(qū)留言分享。希望本文能幫助你在 Vue 項目中更好地使用 Day.js。

到此這篇關(guān)于Vue中使用Day.js時間轉(zhuǎn)化插件的文章就介紹到這了,更多相關(guān)Vue Day.js時間轉(zhuǎn)化插件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue中實時監(jiān)聽div元素盒子的寬高方法

    vue中實時監(jiān)聽div元素盒子的寬高方法

    這篇文章主要給大家介紹了關(guān)于vue中如何實時監(jiān)聽div元素盒子的寬高的相關(guān)資料,在Vue中你可以使用Vue的計算屬性和偵聽器來動態(tài)監(jiān)測元素的高度,文中給出了簡單代碼示例,需要的朋友可以參考下
    2023-09-09
  • 解決使用vue.js路由后失效的問題

    解決使用vue.js路由后失效的問題

    下面小編就為大家分享一篇解決使用vue.js路由后失效的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • vue實現(xiàn)錨點跳轉(zhuǎn)scrollIntoView()使用案例

    vue實現(xiàn)錨點跳轉(zhuǎn)scrollIntoView()使用案例

    這篇文章主要介紹了vue實現(xiàn)錨點跳轉(zhuǎn)scrollIntoView()使用案例,文中結(jié)合實例代碼介紹了vue錨點跳轉(zhuǎn)的三種方式(頁內(nèi)跳轉(zhuǎn),跨頁跳轉(zhuǎn),函數(shù)跳轉(zhuǎn)),需要的朋友可以參考下
    2023-07-07
  • Vue 2源碼解析Parse函數(shù)定義

    Vue 2源碼解析Parse函數(shù)定義

    這篇文章主要為大家介紹了Vue 2源碼解析Parse函數(shù)定義,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • Vue Mixins混入介紹與使用

    Vue Mixins混入介紹與使用

    如果我們在每個組件中去重復(fù)定義這些屬性和方法會使得項目出現(xiàn)代碼冗余并提高了維護難度,針對這種情況官方提供了Mixins特性,這時使用Vue mixins混入有很大好處,下面就介紹下Vue mixins混入使用方法,需要的朋友參考下吧
    2023-02-02
  • 如何在Vue 3中擴展Vue Router鏈接詳解

    如何在Vue 3中擴展Vue Router鏈接詳解

    vue-router是Vue.js官方的路由插件,它和vue.js是深度集成的,適合用于構(gòu)建單頁面應(yīng)用,這篇文章主要給大家介紹了關(guān)于如何在Vue 3中擴展Vue Router鏈接的相關(guān)資料,需要的朋友可以參考下
    2021-06-06
  • vue路由事件beforeRouteLeave及組件內(nèi)定時器的清除方法

    vue路由事件beforeRouteLeave及組件內(nèi)定時器的清除方法

    今天小編就為大家分享一篇vue路由事件beforeRouteLeave及組件內(nèi)定時器的清除方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • Vue Router中的冗余導(dǎo)航錯誤及解決方案

    Vue Router中的冗余導(dǎo)航錯誤及解決方案

    在現(xiàn)代前端開發(fā)中,單頁應(yīng)用(SPA)已經(jīng)成為主流,而 Vue.js 作為一款流行的前端框架,其官方路由庫 Vue Router 則是構(gòu)建 SPA 的核心工具之一,在使用 Vue Router 的過程中,開發(fā)者可能會遇到一些常見的錯誤,本文將深入探討這一錯誤的原因、影響以及解決方案
    2025-01-01
  • vue如何實現(xiàn)無縫輪播圖

    vue如何實現(xiàn)無縫輪播圖

    這篇文章主要介紹了vue如何實現(xiàn)無縫輪播圖,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Vuex Store 數(shù)據(jù)在頁面刷新后丟失的解決方法

    Vuex Store 數(shù)據(jù)在頁面刷新后丟失的解決方法

    當(dāng)我們使用 Vue.js 和 Vuex 進行狀態(tài)管理時,一個常見的問題是頁面刷新會導(dǎo)致 Vuex store 中的數(shù)據(jù)丟失,本文將詳細介紹解決 Vuex Store 數(shù)據(jù)在頁面刷新后丟失的方法,感興趣的朋友一起看看吧
    2024-08-08

最新評論