Vue-filter指令全局過濾和稀有過濾


簡單介紹一下過濾器,顧名思義,過濾就是一個數據經過了這個過濾之后出來另一樣東西,可以是從中取得你想要的,或者給那個數據添加點什么裝飾,那么過濾器則是過濾的工具。例如,從['abc','abd','ade']數組中取得包含‘ab’的值,那么可通過過濾器篩選出來‘abc’和‘abd’;把‘Hello’變成‘Hello World’,那么可用過濾器給值‘Hello’后面添加上‘ World’;或者把時間節點改為時間戳等等都可以使用過濾器。

 

 

全局過濾器:

Vue.filter('globalFilter', function (value) {

  return value + "!!!"

})

<body>
    <div  class="box">
        <!-- | 代表管道,過濾器語法  后面msopt是過濾器的名字 -->
        <p>{{ ms | msopt('瘋狂')}}</p>
    </div>
 

<script>


    // 標准函數
        // var a=function (args){
            // alert("hello word");
        // };
        // 箭頭函數
        // var a=()=>{
        //     alert("hello word");
        // };


// 全局過濾 filter  第一個參數是必須的,第一個參數就是{{ms |msopt}}"|"前面的
// 定義一個全局的過濾器 filter名字叫做msopt
//這里面回調函數 function(){return dd.replace()} 簡寫成了箭頭函數
// 而且  <p>{{ ms | msopt('瘋狂'')}}</p> 我們需要自己來出傳遞這個參數
// 我們知道filter 里面的回調函數 第一個參數是寫死的,我們只能用第二個
    Vue.filter('msopt', (dd,arg)=>{
        return dd.replace('/單純/g',arg);
        // /單純/g  正則表達式 g 是全局搜索
    })

    var vm=new Vue({
        el:'.box',
        data:{
            ms:'單純的我,就喜歡單純的問問,你單純嗎?'
        },
       methods: {
           
       },
    })
</script>

 

 

 私有過濾器(filters)

 

 <tbody>
        <tr>
            <td>{{ jj | appmeg("不上班") }}</td>
        </tr>
    </tbody>
</table>

    
    
<script>
    
var vm=new Vue({
    el:'.table',
    data:{
        jj:'今天星期六'

    },
    methods:{

    },
    //定義自定義(私有)的過濾器
    // filters:{
    //     // appmeg 私有過濾器的名字  a  是必須參數 代表要過濾的字符串
    //      如果存在私有和全局過濾器,采用就近原則先用私有的過濾器
    //     appmeg:function(a){
    //         return a+'sdfsdfsdf';

    //     }

    // }
    

        // 帶有參數的自定義filter
    filters:{
        // appmeg 私有過濾器的名字  a  是必須參數 代表要過濾的字符串
        appmeg:function(a,b){
            return a+'sdfsdfsdf'+b;

        }

    }
    
    
});
</script>

 

 

 

 


免責聲明!

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



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