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

vue中的過濾器及其時間格式化問題

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

一、過濾器介紹

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

<!-- 在雙花括號中 -->
{{ message | capitalize }}

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

二、全局過濾器

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

【 代碼示例 】

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

<body>
  <div id="app">
    <input type="text" v-model="msg">
    <div>{{ msg | strUpper }}</div>
  </div>
  <script>
    // 定義一個全局過濾器,把字符串的第一個字符轉(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>

測試結(jié)果:

在這里插入圖片描述

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

{{ message | filterA | filterB }}

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

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

【 代碼示例 】

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

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

測試結(jié)果:

在這里插入圖片描述

【 知識拓展 】

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

① 語法:

arrayObject.slice(start,end)

② 參數(shù):

③ 返回值 :

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

三、局部過濾器

定義一個局部的過濾器,格式化當(dāng)前時間

【 代碼示例 】

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

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

<body>
  <div id="app">
    <div>當(dāng)前時間是: {{ dateTime }}</div>
    <div>格式化后的時間是: {{ dateTime | dateFormat }}</div>
  </div>
  <script>
    var vm = new Vue({
      el: '#app',
      data: {
        dateTime: new Date(),
      },
      // 定義一個局部的過濾器,格式化當(dāng)前時間
      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')
          // 過濾器中要有返回值
          return `${y}-${m}-$vvxyksv9kd ${hh}:${mm}:${ss}`
        }
      }
    })
  </script>
</body>

</html>

測試結(jié)果:

在這里插入圖片描述

注意:

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

【 知識拓展 】

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

① 語法:

str.padStart(targetLength [, padString])

② 參數(shù):

③ 返回值:

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

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

<body>
  <div id="app">
    <div>當(dāng)前時間是: {{ dateTime }}</div>
    <div>格式化后的時間是: {{ 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(), // 小時
        "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(),
      },
      // 定義一個局部的過濾器,格式化當(dāng)前時間
      filters: {
        dateFormat: (dateTime, fmt) => {
          var dt = new Date(dateTime)
          return dt.format(fmt)
        }
      },
    })
  </script>
</body>

總結(jié)

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

相關(guān)文章

  • Vue+Mockjs模擬curd接口請求的示例詳解

    Vue+Mockjs模擬curd接口請求的示例詳解

    這篇文章主要介紹了Vue+Mockjs模擬curd接口請求的示例詳解,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • Vue3屬性綁定方法解析

    Vue3屬性綁定方法解析

    這篇文章主要介紹了Vue3屬性綁定方法解析,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • vue3+elementPlus二次封裝表單的實(shí)現(xiàn)代碼

    vue3+elementPlus二次封裝表單的實(shí)現(xiàn)代碼

    最近使用Vue3+ElementPlus開發(fā)項目,從整體上構(gòu)思組件的封裝。能寫成組件的內(nèi)容都進(jìn)行封裝,方便多個地方使用,這篇文章給大家介紹了vue3+elementPlus二次封裝表單的實(shí)現(xiàn),并通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-03-03
  • vue-resource 攔截器(interceptor)的使用詳解

    vue-resource 攔截器(interceptor)的使用詳解

    本篇文章主要介紹了vue-resource 攔截器(interceptor)的使用詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • vue實(shí)現(xiàn)文字檢索時候?qū)⑺阉鲀?nèi)容標(biāo)紅功能

    vue實(shí)現(xiàn)文字檢索時候?qū)⑺阉鲀?nèi)容標(biāo)紅功能

    這篇文章主要介紹了vue中實(shí)現(xiàn)文字檢索時候?qū)⑺阉鲀?nèi)容標(biāo)紅,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-08-08
  • vue.js 雙層嵌套for遍歷的方法詳解, 類似php foreach()

    vue.js 雙層嵌套for遍歷的方法詳解, 類似php foreach()

    今天小編就為大家分享一篇vue.js 雙層嵌套for遍歷的方法詳解, 類似php foreach(),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • vue獲取當(dāng)前激活路由的方法

    vue獲取當(dāng)前激活路由的方法

    下面小編就為大家分享一篇vue獲取當(dāng)前激活路由的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • 淺談vue在html中出現(xiàn){{}}的原因及解決方式

    淺談vue在html中出現(xiàn){{}}的原因及解決方式

    這篇文章主要介紹了淺談vue在html中出現(xiàn){{}}的原因及解決方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • Vue Element前端應(yīng)用開發(fā)之常規(guī)Element界面組件

    Vue Element前端應(yīng)用開發(fā)之常規(guī)Element界面組件

    在我們開發(fā)BS頁面的時候,往往需要了解常規(guī)界面組件的使用,小到最普通的單文本輸入框、多文本框、下拉列表,以及按鈕、圖片展示、彈出對話框、表單處理、條碼二維碼等等,本篇隨筆基于普通表格業(yè)務(wù)的展示錄入的場景介紹這些常規(guī)Element組件的使用
    2021-05-05
  • vue項目中添加electron的詳細(xì)代碼

    vue項目中添加electron的詳細(xì)代碼

    這篇文章通過實(shí)例代碼給大家介紹了vue項目中添加electron的方法,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-11-11

最新評論