vue2中filter()

vue2.0裏,不再有自帶的過濾器,需要自己定義過濾器。定義的方法如下: 
註冊一個自定義過濾器,它接收兩個參數:過濾器 ID 和過濾器函數。

Vue.filter('filtername',function(value,參數){
        return 參數+value.split('').reverse().join('');

    });
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3

完整代碼如下:

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>

</style>
</head>
<script src='./vue2.js'></script>
<script>
window.οnlοad=function(){
    //類似於自定義指令,可以用全局方法 Vue.filter() 註冊一個自定義過濾器,它接收兩個參數:過濾器 ID 和過濾器函數。
    Vue.filter('reverseString',function(value,myString){
        // function裏第一個參數value默認爲使用這個過濾器的data值,在本例中是msg的值'you are mine'。請注意:第一個參數必須爲自身的值,後面可以加任意多的參數
        return myString+value.split('').reverse().join('');

    });

    new Vue({
        el:'#box',
        data:{
            msg:'you are mine'  
        }   
    });
};
</script>
<body>

<div id='box'>
    <p>msg is: <br>{{msg}}</p>
    <hr>
    <p>reverse msg is: <br>{{msg|reverseString( 'Hello:' )}}</p>     <!-- 在vue2.0裏 過濾器只能用類似函數的寫法reverseString( 'I must tell you:'),括號內是參數,不同於vue1.0的用空格後加參數的寫法"  msg|reverseString  'I must tell you:' " -->
</div>

</body>
</html>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41

輸出結果爲:

msg is: 
you are mine

reverse msg is: 
Hello:enim era uoy
發佈了12 篇原創文章 · 獲贊 5 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章