Vue.js中過濾器(filter)的使用


Vue.js 過濾器的基本使用(filter)

vue中的過濾器分為兩種:局部過濾器和全局過濾器

1、定義無參全局過濾器

       Vue.filter('msgFormat', function(msg) {    // msg 為固定的參數 即是你需要過濾的數據
            return msg.replace(/單純/g, 'xxx')
       })

完整示例

復制代碼
    <div id="app">
            <p>{{ msg | msgFormat}}</p>
        </div>

        <script>
            // 定義一個 Vue 全局的過濾器,名字叫做  msgFormat
            Vue.filter('msgFormat', function(msg) {
                // 字符串的  replace 方法,第一個參數,除了可寫一個 字符串之外,還可以定義一個正則
                return msg.replace(/單純/g, 'xx')
            })
        </script>
復制代碼

2、定義有參全局過濾器

復制代碼
       <div id="app">
            <p>{{ msg | msgFormat('瘋狂','--')}}</p>
        </div>

        <script>
            // 定義一個 Vue 全局的過濾器,名字叫做  msgFormat
            Vue.filter('msgFormat', function(msg, arg, arg2) {
                // 字符串的  replace 方法,第一個參數,除了可寫一個 字符串之外,還可以定義一個正則
                return msg.replace(/單純/g, arg+arg2)
            })
      </script>
復制代碼

3、局部過濾器

局部過濾器的有參和無參的定義和使用方法與全局的過濾器一樣。唯一的區別在於局部過濾器是定義在vue的實例中。其作用的區域也是vue實例【#app】控制的區域

復制代碼
            // 創建 Vue 實例,得到 ViewModel
            var vm = new Vue({
                el: '#app',
                data: {
                    msg: '曾經,我也是一個單純的少年,單純的我,傻傻的問,誰是世界上最單純的男人'
                },
                methods: {},
                //定義私用局部過濾器。只能在當前 vue 對象中使用
                filters: {
                    dataFormat(msg) {
                        return msg+'xxxxx';
                    }
                }
            });
復制代碼

注意:

1、 當有局部和全局兩個名稱相同的過濾器時候,會以就近原則進行調用,即:局部過濾器優先於全局過濾器被調用!

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

 

原文鏈接;https://www.cnblogs.com/wujiaofen/p/11236176.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM