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

Vue2中的過濾器filter使用及注意說明

 更新時間:2022年09月14日 09:59:08   作者:未可知。  
這篇文章主要介紹了Vue2中的過濾器filter使用及注意說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Vue2中的過濾器是什么

什么是vue的過濾器

過濾器可以通俗理解成是一個特殊的方法,用來加工數(shù)據(jù)的

比如枚舉值可以使用過濾器:如 1 2 3 4 對應(yīng) 成功 失敗 進(jìn)行中 已退回 比如價格后面跟個過濾器,將價格格式化成小數(shù)點(diǎn)兩位 比如時間格式化等,又比如可以過濾聊天中的某些臟話

過濾器怎么寫

  <div id="app">
        <h3>過濾器基本使用</h3>
      //   <!--在雙花括號中使用全局過濾器 格式:{{值 | 過濾器的名稱}}-->
        <p> {{content|contentFilter}} </p>
     //    <!--在v-bind中使用全局過濾器 格式:v-bind:id="值 | 過濾器的名稱"-->
        <p v-bind:id="1 | addZero">11</p>
        <h3>過濾器接收參數(shù)</h3>
        <p> {{ num1| add(num2,num3)}} </p>
    </div>
Vue.filter('contentFilter', function (value) {
            //全局過濾器
            if (!value) {
                return ""
            }
            return value.toUpperCase().replace('TMD', '*不許說臟話噢*').replace('SB', '*不許說臟話噢*')
        })
         Vue.filter("addZero",function(value){
               // 如果value的值小于10則在前面添加0然后返回,否則直接返回value值
               return value<10?"0"+value:value;
           });
        new Vue({
            el: '#app',
            data: {
                content: '小伙子,TMD就是個sb',
                num1: 40,
                num2: 60,
                num3: 70,
            },
             filters: {
                //局部過濾器(本地過濾器)
                add(n1, n2, n3) {
                    return n1 + n2 + n3
                }
            }
        })
      

注意:當(dāng)全局過濾器和局部過濾器重名時,會采用局部過濾器

局部過濾器優(yōu)先于全局過濾器被調(diào)用

一個表達(dá)式可以使用多個過濾器。過濾器之間需要用管道符“|”隔開。其執(zhí)行順序從左往右

注意filter方法在vue3中已被廢除

vue3要精簡代碼,并且filter功能重復(fù),filter能實(shí)現(xiàn)的功能,methods和計算屬性基本上也可以實(shí)現(xiàn)。把filter這方面的vue源碼給刪掉,這樣更加方便維護(hù)。

例如

使用computed實(shí)現(xiàn)

<template>
  <div id="app">
    <ul v-for="(item, index) in arr" :key="index">
      <li>快遞公司:{{ item.deliverCompany }}</li>
      <!-- 使用計算屬性 -->
      <li>運(yùn)輸狀態(tài):{{ computedText(item.expressState) }}</li>
    </ul>
  </div>
</template>
<script>
export default {
   data() {
    return {
      arr: [
        {
          deliverCompany: "京東快遞",
          expressState: "1",
        },
        {
          deliverCompany: "順豐快遞",
          expressState: "2",
        },
        {
          deliverCompany: "中通快遞",
          expressState: "3",
        },
        {
          deliverCompany: "郵政快遞",
          expressState: "4",
        },
        {
          deliverCompany: "極兔快遞",
          expressState: "5",
        },
        {
          deliverCompany: "某某快遞",
          expressState: null,
        },
      ],
    };
  },
  computed: {
    computedText() {
      // 計算屬性要return一個函數(shù)接收參數(shù)
      return function (state) {
        switch (state) {
          case "1":
            return "待發(fā)貨";
            break;
          case "2":
            return "已發(fā)貨";
            break;
          case "3":
            return "運(yùn)輸中";
            break;
          case "4":
            return "派件中";
            break;
          case "5":
            return "已收貨";
            break;
          default:
            return "快遞信息丟失";
            break;
        }
      };
    },
  },
};
</script>

使用methods實(shí)現(xiàn)

<template>
  <div id="app">
    <ul v-for="(item, index) in arr" :key="index">
      <li>快遞公司:{{ item.deliverCompany }}</li>
      <!-- 使用方法 -->
      <li>運(yùn)輸狀態(tài):{{ methodsText(item.expressState) }}</li>
    </ul>
  </div>
</template>
<script>
export default {
  data() {
    return {
      arr: [
        {
          deliverCompany: "京東快遞",
          expressState: "1",
        },
        {
          deliverCompany: "順豐快遞",
          expressState: "2",
        },
        {
          deliverCompany: "中通快遞",
          expressState: "3",
        },
        {
          deliverCompany: "郵政快遞",
          expressState: "4",
        },
        {
          deliverCompany: "極兔快遞",
          expressState: "5",
        },
        {
          deliverCompany: "某某快遞",
          expressState: null,
        },
      ],
    };
  },
  methods: {
    methodsText(state) {
      switch (state) {
        case "1":
          return "待發(fā)貨";
          break;
        case "2":
          return "已發(fā)貨";
          break;
        case "3":
          return "運(yùn)輸中";
          break;
        case "4":
          return "派件中";
          break;
        case "5":
          return "已收貨";
          break;
        default:
          return "快遞信息丟失";
          break;
      }
    },
  },
};
</script>

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。 

相關(guān)文章

  • vue watch監(jiān)控對象的簡單方法示例

    vue watch監(jiān)控對象的簡單方法示例

    這篇文章主要給大家介紹了關(guān)于vue watch監(jiān)控對象的簡單方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • 源碼淺析Vue3中的組件掛載

    源碼淺析Vue3中的組件掛載

    這篇文章主要帶大家從源碼分析一下Vue3中的組件掛載的相關(guān)知識,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價值,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-09-09
  • Vue.js系列之vue-router(上)(3)

    Vue.js系列之vue-router(上)(3)

    這篇文章主要介紹了Vue.js系列之vue-router(上)(3)的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-01-01
  • vue前端開發(fā)keepAlive使用詳解

    vue前端開發(fā)keepAlive使用詳解

    在開發(fā)中經(jīng)常有從列表跳到詳情頁,然后返回詳情頁的時候需要緩存列表頁的狀態(tài)(比如滾動位置信息),這個時候就需要保存狀態(tài),要緩存狀態(tài)
    2021-10-10
  • element-ui中el-row中設(shè)置:gutter間隔不生效問題

    element-ui中el-row中設(shè)置:gutter間隔不生效問題

    這篇文章主要介紹了element-ui中el-row中設(shè)置:gutter間隔不生效問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • vue項目引入字體.ttf的方法

    vue項目引入字體.ttf的方法

    今天小編就為大家分享一篇vue項目引入字體.ttf的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • Vue中函數(shù)防抖節(jié)流的理解及應(yīng)用實(shí)現(xiàn)

    Vue中函數(shù)防抖節(jié)流的理解及應(yīng)用實(shí)現(xiàn)

    這篇文章主要介紹了Vue中函數(shù)防抖節(jié)流的理解及應(yīng)用實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • 基于Vue 擼一個指令實(shí)現(xiàn)拖拽功能

    基于Vue 擼一個指令實(shí)現(xiàn)拖拽功能

    這篇文章主要介紹了Vue 指令實(shí)現(xiàn)拖拽功能,實(shí)現(xiàn)原理很簡單,文中通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-10-10
  • 詳解VSCode配置啟動Vue項目

    詳解VSCode配置啟動Vue項目

    這篇文章主要介紹了VSCode配置啟動Vue項目,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • vue 實(shí)現(xiàn)用戶登錄方式的切換功能

    vue 實(shí)現(xiàn)用戶登錄方式的切換功能

    這篇文章主要介紹了vue 實(shí)現(xiàn)用戶登錄方式的切換功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04

最新評論