vue常用方法总结 vue的filter如何调用function的方法?
vue的filter如何调用function的方法?
vue的filter动态链接库function有四种,可以自己c语言设计过滤器,实现方法内部过滤,注册具体值,根据关键字过滤表的功能,实现方法对function的动态创建。
a:2.0将1.0所有那个软件的过滤器都删除了,也就是说,在2.0中,要在用过滤器,则要我们自己编译程序。
b:2.0过滤器的传参并非以前的,是以函数传参的,下面示例(后面有具体一点示例):
之前全局函数:{{msg|mimi#3912#39#395#39}}
现在动态链接库:{{msg|mimi(#3912#39,#395#39)}}
c:移除分流过滤器:
(#39change#39,{
read:function(val){
returnval
},
write:function(val,oldVal){
returnisEmail(val)?val:oldVal
}
})
1.组件内部过滤(此例子写法区分于处理数据显示的样式,绝对不会改变原数据)
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动态传值
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,传的值这个可以动态绑定--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//设置为最先参数是设置成要过滤的那个值
})
(#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加载更多lt/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中的迭代函数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时要注意,前面动态链接库的是要可以使用filter的数组,而给filter函数传来的是数组中的每个item,也就是说filter里面的函数,是每个item要再去做的,并将每个结果赶往。
return(function(item){
return().indexOf(())!-1
})
}
}
})
ltulgt
Filter Keyltinput type#34text#34v-model#34key#34gt
ltliv-while#34itemacrossfilterShoppingList#34r26
{{item}}
lt/ligt
lt/ulgt
到了最后效果基于了据关键字来过滤列表的功能。
其他的一些Js迭代方法——filter()、map()、some()、every()、forEach()、lastIndexOf()、indexOf()
vue中各种方法的优先级?
据vue的生命周期里,vue中渲出的优先级别是eltemplaterender()
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。