首页 > 其他分享 >Vue 中 filter 过滤器的使用

Vue 中 filter 过滤器的使用

时间:2022-11-17 09:46:08浏览次数:43  
标签:Vue return arg1 value filter 过滤器

一、Filter 过滤器,将数据进行添油加醋的操作。

过滤器分为两种:

  1、组件内的过滤器(组件内有效)

  2、全过滤器(所以组件共享)

使用前首先注册过滤器,然后再使用。

全局过滤器: Vue.filter('过滤器名称', 过滤器 fn(value, arg1))

        // 全局过滤器
        Vue.filter('myReverse', function(value, arg1){
            return arg1+"-"+value.split('').reverse().join('');
        });

 

组件内注册过滤器:   filter : { 过滤器名称 : 过滤器 fn(value) },最终 fn 内通过 return 产生最终的数据。

        var App = {
            template:`
                <div>
                    <input type='number' name='price' v-model='price'/>
                    <p>{{price | myCurrency}}</p>
                </div>
            `,
            data(){
                return{
                    price:0,
                    msg:'hello filter'
                }
            },
            filters:{
                myCurrency:function(value){
                    return '¥' + value;
                }
            }
        }

 

使用方法:  {{ 原有数据 | 过滤器 }}  

过滤器 fn :

  1、声明 function(data, arg1, arg2...){ return }

  2、使用 {{ 数据 | 过滤器名(参数1, 参数2) }}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="app"></div>
    <script type="text/javascript" src="./node_modules/vue/dist/vue.min.js"></script>
    <script type="text/javascript">

        // 全局过滤器
        Vue.filter('myReverse', function(value, arg1){
            return arg1+"-"+value.split('').reverse().join('');
        });
        
        var App = {
            template:`
                <div>
                    <input type='number' name='price' v-model='price'/>
                    <p>{{price | myCurrency}}</p>
                </div>
            `,
            data(){
                return{
                    price:0,
                    msg:'hello filter'
                }
            },
            filters:{
                myCurrency:function(value){
                    return '¥' + value;
                }
            }
        }
        new Vue({
            el:'#app',
            template:`<App/>`,
            components:{
                App
            }
        });
    </script>
</body>
</html>

 

标签:Vue,return,arg1,value,filter,过滤器
From: https://www.cnblogs.com/sfwu/p/16898370.html

相关文章