vue常用方法總結(jié) vue的filter如何調(diào)用function的方法?
vue的filter如何調(diào)用function的方法?vue的filter動態(tài)鏈接庫function有四種,可以自己c語言設(shè)計過濾器,實現(xiàn)方法內(nèi)部過濾,注冊具體值,根據(jù)關(guān)鍵字過濾表的功能,實現(xiàn)方法對fu
vue的filter如何調(diào)用function的方法?
vue的filter動態(tài)鏈接庫function有四種,可以自己c語言設(shè)計過濾器,實現(xiàn)方法內(nèi)部過濾,注冊具體值,根據(jù)關(guān)鍵字過濾表的功能,實現(xiàn)方法對function的動態(tài)創(chuàng)建。
a:2.0將1.0所有那個軟件的過濾器都刪除了,也就是說,在2.0中,要在用過濾器,則要我們自己編譯程序。
b:2.0過濾器的傳參并非以前的,是以函數(shù)傳參的,下面示例(后面有具體一點示例):
之前全局函數(shù):{{msg|mimi#3912#39#395#39}}
現(xiàn)在動態(tài)鏈接庫:{{msg|mimi(#3912#39,#395#39)}}
c:移除分流過濾器:
(#39change#39,{
read:function(val){
returnval
},
write:function(val,oldVal){
returnisEmail(val)?val:oldVal
}
})
1.組件內(nèi)部過濾(此例子寫法區(qū)分于處理數(shù)據(jù)顯示的樣式,絕對不會改變原數(shù)據(jù))
lt!DOCTYPEhtmlgt
lthtmllang#34en#34dstrok
ltheadgt
ltmetacharset#34UTF-8#34rlm
ltmetaname#34viewport#34content#34widthdevice-width,initial-scale1.0#34r26
ltmetahttp-equiv#34X-UA-Compatible#34content#34ieedge#34dstrok
lttitlegtfilterlt/titlegt
ltscriptsrc##34gtlt/scriptgt
lt/headgt
ltbodygt
ltdivid#34app#34dstrok
ltulgt
lt!--去添加兩個過濾器,再注意別問題,盡量先后順序--r26
ltliv-any#34iteminlist#34gt{{|filterAdd1|filterAdd2}}lt/ligt
lt/ulgt
lt/divgt
lt/bodygt
ltscriptgt
varvmfunVue({
el:#39#app#39,
data(){
return{
list:[
{#34id#34:0,#34title#34:#3411111#34,#34cont#34:#34111111#34},
{#34id#34:1,#34title#34:#3422222#34,#34cont#34:#34111111#34},
{#34id#34:2,#34title#34:#3433333#34,#34cont#34:#34111111#34},
{#34id#34:3,#34title#34:#3444444#34,#34cont#34:#34111111#34},
]
}
},
filters:{
filterAdd1(item){
returnitem10
},
filterAdd2(item){
return#39$#39item
}
},
methods:{
},
mounted(){
}
})
lt/scriptgt
lt/htmlgt
2.注冊在全局的fliter,filter傳值,filter動態(tài)傳值
lt!DOCTYPEhtmlgt
lthtmllang#34existe#34rlm
ltheadgt
ltmetacharset#34UTF-8#34a8
ltmetaname#34viewport#34content#34widthdevice-width,initial-scale1.0#34gt
ltmetahttp-equiv#34X-UA-Compatible#34content#34ieedge#34r26
lttitlegtfilterlt/titlegt
ltscriptsrc##34gtlt/scriptgt
lt/headgt
ltbodygt
ltdivid#34app#34rlm
ltulgt
lt!--再添加兩個過濾器,盡量別問題,再注意先后順序--r26
lt!--過濾傳值,帶引號的是字符串,不帶是number,傳的值這個可以動態(tài)綁定--a8
ltliv-for#34itemoflist#34rlm{{|filterAdd1(Number(input),20)|filterAdd2}}lt/ligt
lt/ulgt
ltinputtype#34text#34placeholder#34place#34v-model#34input#34dstrok
lt/divgt
lt/bodygt
ltscriptgt
(#39filterAdd1#39,function(value,one,two){
returnvalueonetwo//設(shè)置為最先參數(shù)是設(shè)置成要過濾的那個值
})
(#39filterAdd2#39,function(value){
return#39$#39value
})
varvmnextVue({
el:#39#app#39,
data(){
return{
input:5,
list:[
{#34id#34:0,#34title#34:#3411111#34,#34cont#34:#34111111#34},
{#34id#34:1,#34title#34:#3422222#34,#34cont#34:#34111111#34},
{#34id#34:2,#34title#34:#3433333#34,#34cont#34:#34111111#34},
{#34id#34:3,#34title#34:#3444444#34,#34cont#34:#34111111#34},
]
}
},
methods:{
},
mounted(){
}
})
lt/scriptgt
lt/htmlgt
可是:
3.計算屬性刪選,methods方法篩選后
lt!DOCTYPEhtmlgt
lthtmllang#34existe#34dstrok
ltheadgt
ltmetacharset#34UTF-8#34gt
ltmetaname#34viewport#34content#34widthdevice-width,initial-scale1.0#34r26
ltmetahttp-equiv#34X-UA-Compatible#34content#34ieedge#34rlm
lttitlegtDocumentlt/titlegt
lt!--ltscriptsrc#34vue.js#34gtlt/scriptgt--gt
ltscriptsrc##34gtlt/scriptgt
lt/headgt
ltbodygt
ltdivid#34app#34gt
#34addMore#34gt加載更多l(xiāng)t/divgt
ltulgtltliv-for#34iteminfilterlist#34gt{{item}}lt/ligtlt/ulgt
lthrgt
ltulgtltliv-for#34iteminfilterlistFun()#34gt{{item}}lt/ligtlt/ulgt
lt/divgt
lt/bodygt
ltscriptgt
varvmfifthVue({
el:#39#app#39,
data(){
return{
size:5,
list:[
{#34id#34:0,#34title#34:#3411111#34,#34cont#34:#34111111#34},
{#34id#34:1,#34title#34:#3422222#34,#34cont#34:#34111111#34},
{#34id#34:2,#34title#34:#3433333#34,#34cont#34:#34111111#34},
{#34id#34:3,#34title#34:#3444444#34,#34cont#34:#34111111#34},
{#34id#34:4,#34title#34:#3455555#34,#34cont#34:#3455555#34},
{#34id#34:5,#34title#34:#3466666#34,#34cont#34:#3466666#34},
{#34id#34:6,#34title#34:#3477777#34,#34cont#34:#3477777#34},
{#34id#34:7,#34title#34:#3477777#34,#34cont#34:#3488888#34},
{#34id#34:8,#34title#34:#34888888#34,#34cont#34:#34999999#34},
{#34id#34:9,#34title#34:#34000000#34,#34cont#34:#3499999#34},
{#34id#34:10,#34title#34:#34a88888#34,#34cont#34:#3499999#34},
{#34id#34:11,#34title#34:#34a22222#34,#34cont#34:#34111111#34},
{#34id#34:12,#34title#34:#34a33333#34,#34cont#34:#34111111#34},
{#34id#34:13,#34title#34:#34a44444#34,#34cont#34:#34111111#34},
{#34id#34:14,#34title#34:#34a55555#34,#34cont#34:#3455555#34},
{#34id#34:15,#34title#34:#34a66666#34,#34cont#34:#3466666#34},
{#34id#34:16,#34title#34:#34a77777#34,#34cont#34:#3477777#34},
{#34id#34:17,#34title#34:#34a77777#34,#34cont#34:#3488888#34},
{#34id#34:18,#34title#34:#34a888888#34,#34cont#34:#34999999#34},
{#34id#34:19,#34title#34:#34a000000#34,#34cont#34:#3499999#34},
{#34id#34:20,#34title#34:#34a88888#34,#34cont#34:#3499999#34}
]
}
},
computed:{
filterlist(){
let
return(function(number){
returnltnum
})
}
},
methods:{
filterlistFun(val){
don't
return(function(number){
returnltnum
})
},
addMore(){
5
},
},
mounted(){
}
})
lt/scriptgt
lt/htmlgt
4.可以使用js中的迭代函數(shù)filter
實例一原文
varapp5nextVue({
el:#39#app5#39,
data:{
shoppingList:[
#34Milk#34,#34Donuts#34,#34Cookies#34,#34Chocolate#34,#34PeanutButter#34,#34PeptoBismol#34,#34PeptoBismol(Chocolate flavor)#34,#34PeptoBismol(Cookie flavor)#34
],
key:#34#34
},
computed:{
filterShoppingList:function(){
//`this`pointsto thevminstance
varkey
varshoppingList
//在不使用filter時要注意,前面動態(tài)鏈接庫的是要可以使用filter的數(shù)組,而給filter函數(shù)傳來的是數(shù)組中的每個item,也就是說filter里面的函數(shù),是每個item要再去做的,并將每個結(jié)果趕往。
return(function(item){
return().indexOf(())!-1
})
}
}
})
ltulgt
Filter Keyltinput type#34text#34v-model#34key#34gt
ltliv-while#34itemacrossfilterShoppingList#34r26
{{item}}
lt/ligt
lt/ulgt
到了最后效果基于了據(jù)關(guān)鍵字來過濾列表的功能。
其他的一些Js迭代方法——filter()、map()、some()、every()、forEach()、lastIndexOf()、indexOf()
vue中各種方法的優(yōu)先級?
據(jù)vue的生命周期里,vue中渲出的優(yōu)先級別是eltemplaterender()