国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

詳解Vue2.0里過濾器容易踩到的坑

2019-11-19 16:26:34
字體:
來源:轉載
供稿:網友

vue2.0里,不再有自帶的過濾器,需要自己定義過濾器。定義的方法如下:

注冊一個自定義過濾器,它接收兩個參數:過濾器 ID 和過濾器函數。

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

function里第一個參數value默認為使用這個過濾器的data對象內的值,在本例中是msg的值'you are mine'。

坑1:第一個參數必須為自身的值,后面可以加任意多的參數。數序顛倒就會出錯。

下面來一個最常見的小例子來說明在使用vue2.0過濾器并結合v-text時遇到的其他的幾個坑:

需求:在頁面輸出一段反轉順序的字符串。

完整代碼如下:

<!doctype html><html><head><meta charset="UTF-8"><title>Document</title><style></style></head><script src='./vue2.js'></script><script>window.onload=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:' " --> <!-- <p v-text="msg|reverseString( 'I must tell you:' )"></p>失效 --> <!-- v-text里用過濾器失效,原因是在vue2.0里 管道符‘|'只能用在mousetache和v-bind中 --></div></body></html>

輸出結果為:

msg is: you are minereverse msg is: Hello:enim era uoy

坑2:在vue2.0里 過濾器只能用類似函數的寫法reverseString( ‘I must tell you:'),括號內是參數,不同于vue1.0的用空格后加參數的寫法;

坑3:v-text里用過濾器失效,原因是在vue2.0里 管道符‘|'只能用在mousetache和v-bind中。

以上只是一個簡單的過濾器的用法,如果涉及到復雜的數據處理的過濾器,比如實現vue1.0里用到過濾器套過濾器的功能,個人感覺也可以用computed來代替過濾器。希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 萍乡市| 建瓯市| 都昌县| 会东县| 临沂市| 汶上县| 六安市| 奉贤区| 华宁县| 鞍山市| 万全县| 上饶县| 田东县| 永仁县| 利辛县| 汽车| 固原市| 深泽县| 佛教| 宜川县| 鹤壁市| 灵武市| 紫金县| 吉林市| 出国| 淮阳县| 金塔县| 中宁县| 英吉沙县| 阿合奇县| 涿鹿县| 北辰区| 高阳县| 资阳市| 曲阜市| 崇州市| 沙河市| 沂南县| 南平市| 浙江省| 辰溪县|