最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue封裝全局過濾器的方法詳解

 更新時間:2024年12月10日 09:15:58   作者:優(yōu)雅格子衫  
這篇文章主要為大家詳細介紹了vue封裝全局過濾器的方法,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以跟隨小編一起學習一下

1.找到utils下創(chuàng)建fifilter.js

一些常用的過濾方法

export const filters = {
    //url解碼
    urlCode: value => {
        if (!value) return ''
        let v = decodeURIComponent(value)
        let bigIndex = v.lastIndexOf('/')
        let endIndex = v.lastIndexOf('.')
        let url = v.substring(bigIndex + 1, endIndex) + v.substring(endIndex)
        return url
    },
    dateFormat: value => {
        if (!value) return ''
        value = value * 1000
        //new Date 在 ios safari瀏覽器有兼容性問題處理如下:ios不支持2027-2-22 16:23,需要改為2027/2/22 16:23 
        // ? 兼容 ios safari : 兼容其他瀏覽器
        let $this = new Date(value) == 'Invalid Date' ? new Date(date.replace(/-/g, "/")) : new Date(value)
 
        var timestamp = parseInt(Date.parse($this)) / 1000 //- 8 * 60 * 60; //(本地時間)東八區(qū)減去8小時;
        // console.log(timestamp)
        function zeroize(num) {
            return (String(num).length == 1 ? '0' : '') + num;
        }
        var curTimestamp = parseInt(new Date().getTime() / 1000); //當前時間戳
        // console.log(curTimestamp)
        var timestampDiff = curTimestamp - timestamp; // 參數(shù)時間戳與當前時間戳相差秒數(shù)
        var curDate = new Date(curTimestamp * 1000); // 當前時間日期對象
        var tmDate = new Date(timestamp * 1000); // 參數(shù)時間戳轉(zhuǎn)換成的日期對象
 
        var Y = tmDate.getFullYear(),
            m = tmDate.getMonth() + 1,
            d = tmDate.getDate();
        var H = tmDate.getHours(),
            i = tmDate.getMinutes(),
            s = tmDate.getSeconds();
 
 
        if (timestampDiff < 60) { // 一分鐘以內(nèi)
            return "剛剛";
        } else if (timestampDiff < 3600) { // 一小時前之內(nèi)
            return Math.floor(timestampDiff / 60) + "分鐘前";
        } else if (curDate.getFullYear() == Y && curDate.getMonth() + 1 == m && curDate.getDate() == d) {
            return '今天 ' + zeroize(H) + ':' + zeroize(i)
        } else {
            var newDate = new Date((curTimestamp - 86400) * 1000); // 參數(shù)中的時間戳加一天轉(zhuǎn)換成的日期對象
            if (newDate.getFullYear() == Y && newDate.getMonth() + 1 == m && newDate.getDate() == d) {
                return '昨天 ' + zeroize(H) + ':' + zeroize(i)
            } else if (curDate.getFullYear() == Y) {
                return zeroize(m) + '月' + zeroize(d) + '日';
            } else {
                return Y + '年' + zeroize(m) + '月' + zeroize(d) + '日';
            }
        }
    },
    // 時間過濾器
    formatDate: value => {
        if (value == undefined) {
            return;
        }
        let date = new Date(value * 1000); //時間戳為10位需*1000,時間戳為13位的話不需乘1000
        let Y = date.getFullYear() + '年';
        let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '月';
        let D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + '日';
        let h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
        let m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':';
        let s = (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds());
        return Y + M + D + h + m + s;
    },
    //微信時間
    wxleftTime: value => {
        if (value == undefined) {
            return;
        }
        const date = new Date(value * 1000);
        const year = date.getFullYear();
        const month = (date.getMonth() + 1).toString().padStart(2, '0');
        const day = date.getDate().toString().padStart(2, '0');
        const hours = date.getHours().toString().padStart(2, '0');
        const minutes = date.getMinutes().toString().padStart(2, '0');
        if (new Date(Number(value) * 1000).toDateString() === new Date().toDateString()) {
            return `${hours}:${minutes}`;
        } else {
            return `${year}/${month}/${day}`;
        }
    },
    //千分位
    numberToCurrencyNo: value => {
        if (!value) return 0.00
        // 獲取整數(shù)部分
        const intPart = Math.trunc(value)
        // 整數(shù)部分處理,增加,
        const intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,')
        // 預定義小數(shù)部分
        let floatPart = ''
        // 將數(shù)值截取為小數(shù)部分和整數(shù)部分
        const valueArray = value.toString().split('.')
        if (valueArray.length === 2) { // 有小數(shù)部分
            floatPart = valueArray[1].toString() // 取得小數(shù)部分
            return intPartFormat + '.' + floatPart
        }
        return intPartFormat + floatPart
 
    }
}

2.在main.js 注冊

import { filters } from './utils/filters'
// 定義全局自定義過濾器
Object.keys(filters).forEach(key => {
  Vue.filter(key, filters[key])
})

3.頁面使用

{{ item.createtime | dateFormat }}

到此這篇關(guān)于vue封裝全局過濾器的方法詳解的文章就介紹到這了,更多相關(guān)vue封裝全局過濾器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 如何手動銷毀Vue中掛載的組件

    如何手動銷毀Vue中掛載的組件

    這篇文章主要介紹了如何手動銷毀Vue中掛載的組件,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 詳解關(guān)于vue2.0工程發(fā)布上線操作步驟

    詳解關(guān)于vue2.0工程發(fā)布上線操作步驟

    這篇文章主要介紹了詳解關(guān)于vue2.0工程發(fā)布上線操作步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • vue watch內(nèi)部調(diào)用methods方法報錯的解決方案

    vue watch內(nèi)部調(diào)用methods方法報錯的解決方案

    這篇文章主要介紹了vue watch內(nèi)部調(diào)用methods方法報錯的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • 解決vant的Cascader級聯(lián)選擇組建css樣式錯亂問題

    解決vant的Cascader級聯(lián)選擇組建css樣式錯亂問題

    這篇文章主要介紹了解決vant的Cascader級聯(lián)選擇組建css樣式錯亂問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Vue3中其他的Composition?API詳解

    Vue3中其他的Composition?API詳解

    這篇文章主要介紹了Vue3中其他的Composition?API,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • vue設置代理不起作用問題及解決

    vue設置代理不起作用問題及解決

    這篇文章主要介紹了vue設置代理不起作用問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • vue中install方法介紹

    vue中install方法介紹

    這篇文章主要給大家分享了 vue中install方法介紹,vue提供install可供我們開發(fā)新的插件及全局注冊組件等,感興趣的小伙伴請和小編一起進入文章了解具體內(nèi)容吧

    2021-11-11
  • Vue-Router的使用方法

    Vue-Router的使用方法

    這篇文章主要介紹了Vue-Router的使用方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • 從0搭建Vue3組件庫如何使用?glup?打包組件庫并實現(xiàn)按需加載

    從0搭建Vue3組件庫如何使用?glup?打包組件庫并實現(xiàn)按需加載

    這篇文章主要介紹了從0搭建Vue3組件庫如何使用?glup?打包組件庫并實現(xiàn)按需加載,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • Vue+ElementUI之Tree的使用方法

    Vue+ElementUI之Tree的使用方法

    這篇文章主要為大家詳細介紹了Vue+ElementUI之Tree的使用方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-05-05

最新評論

绥德县| 安福县| 从化市| 达拉特旗| 黄石市| 镇赉县| 灵寿县| 丁青县| 文山县| 合阳县| 赤水市| 保靖县| 同江市| 湘阴县| 龙井市| 布尔津县| 井研县| 德令哈市| 抚州市| 开江县| 泾川县| 贡山| 米易县| 鸡泽县| 长宁区| 隆安县| 盐城市| 阿巴嘎旗| 葫芦岛市| 集贤县| 舒城县| 句容市| 清原| 邳州市| 宝坻区| 中宁县| 凤山县| 眉山市| 绩溪县| 贵南县| 墨竹工卡县|