vue過濾器和案例實(shí)現(xiàn)

使用vue插件

  • 使用chrome瀏覽器調(diào)試插件Vue.js devtools
  • 添加一行代碼Vue.config.devtools = true;
    使用devtools插入代碼.png
vue調(diào)試面板.png

vue過濾器

  1. 過濾器只會(huì)改變顯示結(jié)果,而不是修改數(shù)據(jù)
  2. 過濾器調(diào)用時(shí)候的格式
<p>{{msg|msgFormat}}</p>
  1. 定義一個(gè)過濾器秕脓,把顯示結(jié)果你改成他徽诲,只會(huì)修改第一個(gè)(放在script標(biāo)簽的開頭缸浦?放在結(jié)尾的時(shí)候沒有顯示效果)
Vue.filter('msgFormat',function(msg){
                return msg.replace('他','你')
            })
data:{
      msg:'他的朋友想邦,他的敵人'
    },
修改效果.png
  1. 除了可以寫一個(gè)字符串之外焚碌,還可以定義一個(gè)正則,將所有‘你’改成‘他’
Vue.filter('msgFormat',function(msg){
                return msg.replace(/他/g,'你')
            })
全部關(guān)鍵字修改.png
  1. 傳入一個(gè)參數(shù)的過濾器
Vue.filter('msgFormat',function(msg,arg){
                return msg.replace(/他/g,arg)
            })
<p>{{msg|msgFormat('wo')}}</p>
傳入?yún)?shù)修改.png
  1. 定義格式化時(shí)間的全局過濾器
Vue.filter("dateFormat",function(dateStr){
                var dt=new Date(dateStr)
                var y=dt.getFullyear()
                var m=dt.getMonth()+1
                var d=dt.getDate()
                return `${y}-&{m}-$leddd2u`
            })

修改前顯示效果.png

過濾后效果.png

  1. 使用過濾器再添加上時(shí)分秒
if(pattern.toLowerCase()==='yyyy-mm-dd'){
                return `${y}-${m}-$yo2wkrq`}
                else{
                    var hh=dt.getHours()
                    var mm=dt.getMinutes()
                    var ss=dt.getSeconds()
                    return `${y}-${m}-$zax7qed ${hh}:${mm}:${ss}`
                }
最終效果.png
  1. 全局過濾器就是所有的vm實(shí)例都共享的
  2. 定義私有過濾器,過濾器有兩個(gè)條件[過濾器名稱和處理函數(shù)],過濾器調(diào)用時(shí)采用就近原則,如果私有過濾器和全局過濾器名稱一致尚镰,優(yōu)先調(diào)用私有過濾器定義私有過濾器,過濾器有兩個(gè)條件[過濾器名稱和處理函數(shù)],過濾器調(diào)用時(shí)采用就近原則哪廓,如果私有過濾器和全局過濾器名稱一致狗唉,優(yōu)先調(diào)用私有過濾器
var vm=new Vue({
                el:'#div1',
                data:{
                    msg:'他的朋友,他的敵人'
                },
                methods:{
                    
                },
                filters:{//定義私有過濾器,過濾器有兩個(gè)條件[過濾器名稱和處理函數(shù)]
                    dataFormat:function(dataStr,pattern){
                        var dt=new Date(dateStr)
                        var y=dt.getFullYear()
                        var m=dt.getMonth()+1
                        var d=dt.getDate()
                        if(pattern.toLowerCase()==='yyyy-mm-dd'){
                        return `${y}-${m}-$wi0y2ir`}
                        else{
                            var hh=dt.getHours()
                            var mm=dt.getMinutes()
                            var ss=dt.getSeconds()
                            return `${y}-${m}-$olpqueh ${hh}:${mm}:${ss}`
                        }
                    }
                }
            })

列表案例

  1. 根據(jù)id添加列表
  2. 根據(jù)id實(shí)現(xiàn)刪除效果
<td><a href="" @click.prevent="del(item.id)">刪除</a></td>

                    del(id){//刪除列表
                        this.list.some((item,i)=>{
                            if(item.id==id){//id是否匹配
                                this.list.splice(i,1)//實(shí)現(xiàn)刪除
                                return true;
                                //在some方法中,如果熱return true,就會(huì)立即終止這個(gè)數(shù)組循環(huán)
                            }
                        })
                    }

或者

                    del(id){//刪除列表
                        var index=this.list.findIndex(item=>{
                            if(item.id==id){
                                return true;}
                        })  
                    
                        this.list.splice(index,1)
                    }
  1. 自定義一個(gè)search方法來代替從list中直接獲取數(shù)據(jù)
<tr v-for="item in list" :key="item.id">
<tr v-for="item in search(keywords)" :key="item.id">
  1. 實(shí)現(xiàn)在文本框中通過搜索關(guān)鍵字來匹配相應(yīng)條目
                    <label>
                        搜索名稱關(guān)鍵字:
                        <input type="text" v-model="keywords" class="form-control">
                    </label>
search(keywords){//根據(jù)關(guān)鍵字進(jìn)行數(shù)據(jù)搜索
                    var newlist=[]
                        this.list.forEach(item=>{
                            if(item.name.indexOf(keywords) !=-1){//進(jìn)行字符串匹配
                                newlist.push(item)
                            }
                        })
                        return newlist
                    }                   
search(keywords){//根據(jù)關(guān)鍵字進(jìn)行數(shù)據(jù)搜索
                        return this.list.filter(item=>{
                            if(item.name.includes(keywords))
                            //ES6中提供一個(gè)方法 string.prototype.includes('字符串')
                            //若包含則返回true,否則false
                            {return item}
                        })
                        }

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末涡真,一起剝皮案震驚了整個(gè)濱河市分俯,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌哆料,老刑警劉巖缸剪,帶你破解...
    沈念sama閱讀 216,651評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異剧劝,居然都是意外死亡橄登,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門讥此,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人谣妻,你說我怎么就攤上這事萄喳。” “怎么了蹋半?”我有些...
    開封第一講書人閱讀 162,931評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵他巨,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我,道長(zhǎng)染突,這世上最難降的妖魔是什么捻爷? 我笑而不...
    開封第一講書人閱讀 58,218評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮份企,結(jié)果婚禮上也榄,老公的妹妹穿的比我還像新娘。我一直安慰自己司志,他們只是感情好甜紫,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,234評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著骂远,像睡著了一般囚霸。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上激才,一...
    開封第一講書人閱讀 51,198評(píng)論 1 299
  • 那天拓型,我揣著相機(jī)與錄音,去河邊找鬼瘸恼。 笑死劣挫,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的钞脂。 我是一名探鬼主播揣云,決...
    沈念sama閱讀 40,084評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼冰啃!你這毒婦竟也來了邓夕?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,926評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤阎毅,失蹤者是張志新(化名)和其女友劉穎焚刚,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體扇调,經(jīng)...
    沈念sama閱讀 45,341評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡矿咕,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,563評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了狼钮。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片碳柱。...
    茶點(diǎn)故事閱讀 39,731評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖熬芜,靈堂內(nèi)的尸體忽然破棺而出莲镣,到底是詐尸還是另有隱情,我是刑警寧澤涎拉,帶...
    沈念sama閱讀 35,430評(píng)論 5 343
  • 正文 年R本政府宣布瑞侮,位于F島的核電站的圆,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏半火。R本人自食惡果不足惜越妈,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,036評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望钮糖。 院中可真熱鬧梅掠,春花似錦、人聲如沸藐鹤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽娱节。三九已至挠蛉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間肄满,已是汗流浹背谴古。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留稠歉,地道東北人掰担。 一個(gè)月前我還...
    沈念sama閱讀 47,743評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像怒炸,于是被迫代替她去往敵國(guó)和親带饱。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,629評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • === 瀏覽器插件 VS Code插件 玩轉(zhuǎn)Vs code 為什么學(xué)習(xí)Vue 什么是MVVM Vue初體驗(yàn) Vue...
    午夜陽光5021閱讀 1,505評(píng)論 0 0
  • # 傳智播客vue 學(xué)習(xí)## 1. 什么是 Vue.js* Vue 開發(fā)手機(jī) APP 需要借助于 Weex* Vu...
    再見天才閱讀 3,536評(píng)論 0 6
  • 【三十六騎】目錄(連載更新中) 【上一章】三十六騎(2)盜家 前情摘要“什么樣的鎖銬阅羹?”“相當(dāng)復(fù)雜和精巧勺疼,不瞞柳大...
    念遠(yuǎn)懷人閱讀 4,281評(píng)論 10 51
  • 香宜淡,人宜真捏鱼,生活滋味执庐,也如同白開水一樣,你加入了什么导梆,就是什么滋味轨淌。當(dāng)酸甜苦辣都嘗遍,你也就能安于一杯白水的清...
    美食美客閱讀 725評(píng)論 0 4
  • 遠(yuǎn)方少年看尼,你還好嗎 我很慶幸在六年級(jí)的時(shí)候認(rèn)識(shí)你递鹉,我的同桌小A。 和你成為同桌藏斩,我很膽怯梳虽。你太過耀眼,而我過于平凡...
    debbywsq閱讀 141評(píng)論 0 1