首頁 >web前端 >Vue.js >vue.js如何使用filter

vue.js如何使用filter

coldplay.xixi
coldplay.xixi原創
2020-12-17 13:43:531904瀏覽

vue.js使用filter的方法:1、定義無參全域過濾器,程式碼為【Vue.filter('msgFormat', function(msg)】;2、定義有參全域過濾器,程式碼為【Vue.filter('msgFormat', funct】。

vue.js如何使用filter

本教學操作環境:windows7系統、Vue2.9.6版,此方法適用於所有品牌電腦。

【相關文章推薦:vue.js

#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(&#39;msgFormat&#39;, function(msg) {
                // 字符串的  replace 方法,第一个参数,除了可写一个 字符串之外,还可以定义一个正则
                return msg.replace(/单纯/g, &#39;xx&#39;)
            })
        </script>

2、定義有參全域過濾器

       <div id="app">
            <p>{{ msg | msgFormat(&#39;疯狂&#39;,&#39;--&#39;)}}</p>
        </div>
        <script>
            // 定义一个 Vue 全局的过滤器,名字叫做  msgFormat
            Vue.filter(&#39;msgFormat&#39;, function(msg, arg, arg2) {
                // 字符串的  replace 方法,第一个参数,除了可写一个 字符串之外,还可以定义一个正则
                return msg.replace(/单纯/g, arg+arg2)
            })
      </script>

#3、局部過濾器

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

            // 创建 Vue 实例,得到 ViewModel
            var vm = new Vue({
                el: &#39;#app&#39;,
                data: {
                    msg: &#39;曾经,我也是一个单纯的少年,单纯的我,傻傻的问,谁是世界上最单纯的男人&#39;
                },
                methods: {},
                //定义私用局部过滤器。只能在当前 vue 对象中使用
                filters: {
                    dataFormat(msg) {
                        return msg+&#39;xxxxx&#39;;
                    }
                }
            });

注意:

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

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

相關學習推薦:

js影片教學

以上是vue.js如何使用filter的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn