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