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>
  • 相关阅读:
    此心本净四——圣言录·下·平等无分别
    此心本净三——圣言录·中·空性
    一饮一啄,自成因果
    心为何而动······
    此心漂泊
    喜欢看心的幻化
    (js描述的)数据结构[集合结构](6)
    (js描述的)数据结构[双向链表](5)
    (js描述的)数据结构[链表](4)
    微信小程序(黑马优购)完成!!{10天}
  • 原文地址:https://www.cnblogs.com/liea/p/11782824.html
Copyright © 2011-2022 走看看