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

vue中的過(guò)濾器及其時(shí)間格式化問(wèn)題

 更新時(shí)間:2020年04月09日 14:07:46   作者:揚(yáng)帆向海  
這篇文章主要介紹了vue中的過(guò)濾器及其時(shí)間格式化,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

一、過(guò)濾器介紹

Vue.js 允許你自定義過(guò)濾器,可被用于一些常見(jiàn)的文本格式化。過(guò)濾器可以用在兩個(gè)地方:雙花括號(hào)插值和 v-bind 表達(dá)式 (后者從 2.1.0+ 開(kāi)始支持)。過(guò)濾器應(yīng)該被添加在 JavaScript 表達(dá)式的尾部,由 管道 符號(hào)指示:

<!-- 在雙花括號(hào)中 -->
{{ message | capitalize }}

<!-- 在 `v-bind` 中 -->
<div v-bind:id="rawId | formatId"></div>

二、全局過(guò)濾器

在創(chuàng)建 Vue 實(shí)例之前全局定義過(guò)濾器

【 代碼示例 】

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>過(guò)濾器</title>
  <script src="js/vue.js"></script>
</head>

<body>
  <div id="app">
    <input type="text" v-model="msg">
    <div>{{ msg | strUpper }}</div>
  </div>
  <script>
    // 定義一個(gè)全局過(guò)濾器,把字符串的第一個(gè)字符轉(zhuǎn)換為大寫
    Vue.filter('strUpper', function (str) {
      return str.charAt(0).toUpperCase() + str.slice(1)
    })
    var vm = new Vue({
      el: '#app',
      data: {
        msg: ''
      }
    })
  </script>
</body>

</html>

測(cè)試結(jié)果:

在這里插入圖片描述

過(guò)濾器可以串聯(lián)。在一個(gè)插值表達(dá)式中可以使用多個(gè)過(guò)濾器,過(guò)濾器之間用管道符 隔開(kāi),過(guò)濾器從左到右的順序進(jìn)行執(zhí)行。

{{ message | filterA | filterB }}

在這個(gè)例子中,filterA 被定義為接收單個(gè)參數(shù)的過(guò)濾器函數(shù),表達(dá)式 message的值將作為參數(shù)傳入到函數(shù)中。然后繼續(xù)調(diào)用同樣被定義為接收單個(gè)參數(shù)的過(guò)濾器函數(shù) filterB,將 filterA 的結(jié)果傳遞到 filterB 中。

調(diào)用第一個(gè)過(guò)濾器會(huì)使輸入的字符串第一個(gè)字符轉(zhuǎn)成大寫,調(diào)用第二個(gè)過(guò)濾器替換字符串中的空格為逗號(hào)。

【 代碼示例 】

<div>{{ msg | strUpper | strReplace }}</div>

Vue.filter('strReplace', function (str) {
  return str.replace(/ /g, ',')
})

測(cè)試結(jié)果:

在這里插入圖片描述

【 知識(shí)拓展 】

slice() 方法可從已有的數(shù)組中返回選定的元素。

① 語(yǔ)法:

arrayObject.slice(start,end)

② 參數(shù):

③ 返回值 :

返回一個(gè)新的數(shù)組,包含從 start 到 end (不包括該元素)的 arrayObject 中的元素。

三、局部過(guò)濾器

定義一個(gè)局部的過(guò)濾器,格式化當(dāng)前時(shí)間

【 代碼示例 】

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="winowh=device-winowh, initial-scale=1.0">
  <title>過(guò)濾器學(xué)習(xí)2</title>
  <script src="js/vue.js"></script>
</head>

<body>
  <div id="app">
    <div>當(dāng)前時(shí)間是: {{ dateTime }}</div>
    <div>格式化后的時(shí)間是: {{ dateTime | dateFormat }}</div>
  </div>
  <script>
    var vm = new Vue({
      el: '#app',
      data: {
        dateTime: new Date(),
      },
      // 定義一個(gè)局部的過(guò)濾器,格式化當(dāng)前時(shí)間
      filters: {
        dateFormat: (dateTime) => {
          var now = new Date(dateTime)
          var y = now.getFullYear()
          var m = (now.getMonth() + 1).toString().padStart(2, '0')
          var d = now.getDate().toString().padStart(2, '0')
          var hh = now.getHours().toString().padStart(2, '0')
          var mm = now.getMinutes().toString().padStart(2, '0')
          var ss = now.getSeconds().toString().padStart(2, '0')
          // 過(guò)濾器中要有返回值
          return `${y}-${m}-$wppm3vysvbp ${hh}:${mm}:${ss}`
        }
      }
    })
  </script>
</body>

</html>

測(cè)試結(jié)果:

在這里插入圖片描述

注意:

當(dāng)有兩個(gè)名稱相同的全局過(guò)濾器和局部過(guò)濾器的時(shí)候,會(huì)以就近原則進(jìn)行調(diào)用過(guò)濾器,局部過(guò)濾器的優(yōu)先級(jí)高于全局過(guò)濾器。

【 知識(shí)拓展 】

padStart() 可以在字符串的開(kāi)頭進(jìn)行字符補(bǔ)全。

① 語(yǔ)法:

str.padStart(targetLength [, padString])

② 參數(shù):

③ 返回值:

在原字符串開(kāi)頭填充指定的填充字符串直到目標(biāo)長(zhǎng)度所形成的新字符串。

借鑒網(wǎng)上的常用方法格式化時(shí)間

<body>
  <div id="app">
    <div>當(dāng)前時(shí)間是: {{ dateTime }}</div>
    <div>格式化后的時(shí)間是: {{ dateTime | dateFormat('yyyy-MM-dd hh:mm:ss') }}</div>
  </div>
  <script>
    Date.prototype.format = function (format) {
      var dateMap = {
        "M+": this.getMonth() + 1, // 月份
        "d+": this.getDate(), // 日
        "h+": this.getHours(), // 小時(shí)
        "m+": this.getMinutes(), // 分
        "s+": this.getSeconds(), // 秒
        "q+": Math.floor((this.getMonth() + 3) / 3), // 季度
        "S": this.getMilliseconds() // 毫秒
      };
      if (/(y+)/.test(format)) format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp
        .$1.length));
      for (var k in dateMap)
        if (new RegExp("(" + k + ")").test(format)) format = format.replace(RegExp.$1, (RegExp.$1.length ==
          1) ? (dateMap[k]) : (("00" + dateMap[k]).substr(("" + dateMap[k]).length)));
      return format;
    }
    var vm = new Vue({
      el: '#app',
      data: {
        dateTime: new Date(),
      },
      // 定義一個(gè)局部的過(guò)濾器,格式化當(dāng)前時(shí)間
      filters: {
        dateFormat: (dateTime, fmt) => {
          var dt = new Date(dateTime)
          return dt.format(fmt)
        }
      },
    })
  </script>
</body>

總結(jié)

到此這篇關(guān)于vue中的過(guò)濾器及其時(shí)間格式化問(wèn)題的文章就介紹到這了,更多相關(guān)vue 過(guò)濾器時(shí)間格式化內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue實(shí)現(xiàn)左右點(diǎn)擊滾動(dòng)效果

    vue實(shí)現(xiàn)左右點(diǎn)擊滾動(dòng)效果

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)左右點(diǎn)擊滾動(dòng)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Vue自定義組件實(shí)現(xiàn)?v-model?的幾種方式

    Vue自定義組件實(shí)現(xiàn)?v-model?的幾種方式

    在?Vue?中,v-model?是一個(gè)常用的指令,用于實(shí)現(xiàn)表單元素和組件之間的雙向綁定,當(dāng)我們使用原生的表單元素時(shí),直接使用?v-model?是很方便的,本文給大家介紹了Vue自定義組件實(shí)現(xiàn)?v-model?的幾種方式,需要的朋友可以參考下
    2024-02-02
  • vue-element-admin?登陸及目錄權(quán)限控制的實(shí)現(xiàn)

    vue-element-admin?登陸及目錄權(quán)限控制的實(shí)現(xiàn)

    本文主要介紹了vue-element-admin?登陸及目錄權(quán)限控制的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • element的表單校驗(yàn)證件號(hào)規(guī)則及輸入“無(wú)”的情況校驗(yàn)通過(guò)(示例代碼)

    element的表單校驗(yàn)證件號(hào)規(guī)則及輸入“無(wú)”的情況校驗(yàn)通過(guò)(示例代碼)

    這篇文章主要介紹了element的表單校驗(yàn)證件號(hào)規(guī)則及輸入“無(wú)”的情況校驗(yàn)通過(guò),使用方法對(duì)校驗(yàn)數(shù)據(jù)進(jìn)行過(guò)濾判斷,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2023-11-11
  • vue mixins合并策略以及應(yīng)用場(chǎng)景分析

    vue mixins合并策略以及應(yīng)用場(chǎng)景分析

    這篇文章主要介紹了vue mixins合并策略以及應(yīng)用場(chǎng)景,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • element-ui中table表格的折疊和隱藏方式

    element-ui中table表格的折疊和隱藏方式

    這篇文章主要介紹了element-ui中table表格的折疊和隱藏方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • VUE v-model表單數(shù)據(jù)雙向綁定完整示例

    VUE v-model表單數(shù)據(jù)雙向綁定完整示例

    這篇文章主要介紹了VUE v-model表單數(shù)據(jù)雙向綁定,結(jié)合完整實(shí)例形式分析了vue.js實(shí)現(xiàn)表單數(shù)據(jù)雙向綁定相關(guān)操作技巧,需要的朋友可以參考下
    2019-01-01
  • vue-treeselect無(wú)法點(diǎn)擊問(wèn)題(點(diǎn)擊無(wú)法出現(xiàn)拉下菜單)

    vue-treeselect無(wú)法點(diǎn)擊問(wèn)題(點(diǎn)擊無(wú)法出現(xiàn)拉下菜單)

    這篇文章主要介紹了vue-treeselect無(wú)法點(diǎn)擊問(wèn)題(點(diǎn)擊無(wú)法出現(xiàn)拉下菜單),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue項(xiàng)目調(diào)試的三種方法總結(jié)

    vue項(xiàng)目調(diào)試的三種方法總結(jié)

    這篇文章主要給大家總結(jié)介紹了關(guān)于vue項(xiàng)目調(diào)試的三種方法,大家可以根據(jù)需要選擇調(diào)試方法,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-09-09
  • Vue監(jiān)聽(tīng)localstorage變化的方法詳解

    Vue監(jiān)聽(tīng)localstorage變化的方法詳解

    在日常開(kāi)發(fā)中,我們經(jīng)常使用localStorage來(lái)存儲(chǔ)一些變量,這些變量會(huì)存儲(chǔ)在瀏覽中,對(duì)于localStorage來(lái)說(shuō),即使關(guān)閉瀏覽器,這些變量依然存儲(chǔ)著,方便我們開(kāi)發(fā)的時(shí)候在別的地方使用,本文就給大家介紹Vue如何監(jiān)聽(tīng)localstorage的變化,需要的朋友可以參考下
    2023-10-10

最新評(píng)論

图木舒克市| 武乡县| 龙口市| 满城县| 南陵县| 桂林市| 淄博市| 永昌县| 喜德县| 中山市| 萝北县| 逊克县| 镇康县| 平湖市| 东丽区| 凌源市| 临颍县| 湾仔区| 宣汉县| 海丰县| 伊宁市| 广平县| 莎车县| 上杭县| 巨鹿县| 景宁| 高阳县| 铁力市| 沛县| 桐柏县| 余江县| 栾城县| 扎兰屯市| 科技| 海安县| 泰顺县| 佛坪县| 拜泉县| 绥滨县| 崇义县| 通海县|