zoukankan      html  css  js  c++  java
  • Vue 过滤器

    过滤器的作用:

    格式化数据,比如将字符串格式化为首字母大写,将日期格式化为指定的格式等。

     自定义过滤器:

        Vue.filter('过滤器名称', function(value){
        // 过滤器业务逻辑
    
        })
    

     过滤器的使用

     <div>{{msg | upper}}</div>
      <div>{{msg | upper | lower}}</div>
      <div v-bind:id='id | formatId' ></div>

    案例:(全局过滤器)

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title>Document</title>
      <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    </head>
    
    <body>
      <div id='app'>
        <div><input type="text" v-model='msg'></div>
        <div>{{msg | upper}}</div>
      </div>
    
      <script>
        Vue.filter('upper', function (value) {
          // 过滤器业务逻辑
          // 首字母大写
          return value.charAt(0).toUpperCase() + value.slice(1)
        })
        var vm = new Vue({
          el: '#app',
          data: {
            msg:''
          },
          methods: {
    
          }
        })
      </script>
    </body>
    
    </html>

     局部过滤器:

    只能在当前文件内生效

    案例:

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title>Document</title>
      <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    </head>
    
    <body>
      <div id='app'>
        <div><input type="text" v-model='msg'></div>
        <div>{{msg | upper}}</div>
      </div>
    
      <script>
        var vm = new Vue({
          el: '#app',
          data: {
            msg: ''
          },
          filters: {
            upper: function () {
              // 过滤器业务逻辑
              // 首字母大写
              return value.charAt(0).toUpperCase() + value.slice(1)
            }
          }
        })
      </script>
    </body>
    
    </html>

    带参数的过滤器:

    Vue.filter('format', function (value, arg) {

    // value 就是过滤器传递过来的参数

    过滤器的使用:

    <div> {{date | format('YYYY-MM-dd' }} </div>

    案例:使用过滤器格式化日期

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 
     4 <head>
     5   <meta charset="UTF-8">
     6   <meta name="viewport" content="width=device-width, initial-scale=1.0">
     7   <meta http-equiv="X-UA-Compatible" content="ie=edge">
     8   <title>Document</title>
     9   <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    10 </head>
    11 
    12 <body>
    13   <div id='app'>
    14 
    15     <div>{{date | format("YYYY-MM-dd")}}</div>
    16 
    17   </div>
    18 
    19   <script>
    20     var vm = new Vue({
    21       el: '#app',
    22       data: {
    23         date: new Date()
    24       },
    25       filters: {
    26         format: function (value, arg) {
    27           console.log('time', value, 'arg', arg)
    28           if (arg === 'YYYY-MM-dd') {
    29             var ret = ''
    30             ret += value.getFullYear() + '-' + (value.getMonth() + 1) + '-' + value.getDate()
    31           }
    32           return ret
    33         }
    34       }
    35     })
    36   </script>
    37 </body>
    38 
    39 </html>
  • 相关阅读:
    HDU_1709 The Balence (生成函数)
    Ural_1003 Parity(并查集)
    HDU_1171 Big Event in HDU(生成函数)
    Ural_1306. Sequence Median(堆)
    POJ_2823 Sliding Window(单调队列)
    HDU_2065 "红色病毒"问题(指数型生成函数)
    HDU_2082 找单词 (生成函数)
    最长上升子序列问题(LCS)
    HDU_1284 钱币兑换问题(生成函数)
    HDU_2152 Fruit(生成函数)
  • 原文地址:https://www.cnblogs.com/liea/p/11782824.html
Copyright © 2011-2022 走看看