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

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

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

一、引言

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

二、在 Vue 2 中使用 Day.js

2.1 安裝 Day.js

首先,需要在項(xiàng)目中安裝 Day.js。可以使用 npm 或 yarn 進(jìn)行安裝:

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

2.2 全局引入和使用

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

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

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

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

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

2.3 在組件中使用過(guò)濾器

在組件的模板中,可以直接使用這個(gè)全局過(guò)濾器。

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

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

2.4 局部使用 Day.js

除了全局引入,也可以在單個(gè)組件中局部引入 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)用實(shí)例,可以在 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 上,這樣在所有組件中都可以通過(guò) this.$dayjs 來(lái)使用 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

也可以在單個(gè)組件中直接局部引入 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>

四、對(duì)比總結(jié)

4.1 引入方式

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

4.2 組件使用方式

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

4.3 靈活性

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

結(jié)語(yǔ)

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

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

相關(guān)文章

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

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

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

    解決使用vue.js路由后失效的問(wèn)題

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

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

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

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

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

    Vue Mixins混入介紹與使用

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

    如何在Vue 3中擴(kuò)展Vue Router鏈接詳解

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

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

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

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

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

    vue如何實(shí)現(xiàn)無(wú)縫輪播圖

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

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

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

最新評(píng)論