css基本都表现形式只能六种:
标签样式、class类样式、id样式。
1.标签样式:需要与html标签同名原著。单单会影响小说改编标签
样式:可以不在任何标签中建议使用:class样式名
样式
优先级idclasslabel
1:html(结构层)2:css(表现层)3:javascript(行为层)的关系。
2:html的的人的骨骼,css得象人的皮肤,js给人被赋予生命。
3:前端框架:bootstrap/jquery(网页的dom对象类接受选择)/vue、angularjs(双向数据解除绑定)。
:动态没绑定属性属于什么v-bind的语法糖
请兼容性下360浏览器......
如果没有存在地大量的组件交互,用户输入,表单处理,建议不使用vue,它的上下行数据没绑定用了都说好。假如业务很奇怪,但vue得原理也不是很很能熟练,我建议你可以使用原生来做。我平时开发用vue,但否则的话做我从还没有做的大项目,我全是用原生来写得,这样的会尽量的避免穿过大厅框架的陷阱中。
最近招聘全是,“会用框架”,最后等同于于helloworld(从官网照案例做)。对原生更是不很清楚,有没很多孩子都觉得会框架就你不学实现方法原理了?
宰牛刀,看你网站干啥的,你都不说啥网站,上去就是vue。
不论如何,要是是个新系统,个人建议就上vue或者react,这些新技术在组件开发,工程化上都早很能成熟,能明显提高开发效率。
况且你不熟得不能再熟,这些是势必的趋势了,你也只好去学了,看看现在的招聘就明白了。有这样的开发学习机会,你就大胆干[喝彩]
vue的filter内部函数function有四种,是可以自己编译程序过滤器,利用内部过滤,注册查找值,据关键字过滤表的功能,利用对function的动态链接库。
a:2.0将1.0所有从网上下载的过滤器都删除了,也就是说,在2.0中,要建议使用过滤器,则需要我们自己c语言程序。
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#34equipes#34rlm
ltheadgt
ltmetacharset#34utf-8#34dstrok
ltmetaname#34viewport#34content#34widthdevice-width,initial-scale1.0#34a8
ltmetahttp-equiv#34x-ua-compatible#34content#34ieedge#34gt
lttitlegtfilterlt/titlegt
ltscriptsrc##34gtlt/scriptgt
lt/headgt
ltbodygt
ltdivid#34app#34dstrok
ltulgt
lt!--再添加两个过滤器,尽量不要关联,特别注意先后顺序--a8
ltliv-any#34itemacrosslist#34gt{{|filteradd1|filteradd2}}lt/ligt
lt/ulgt
lt/divgt
lt/bodygt
ltscriptgt
varvmnewvue({
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#34en#34gt
ltheadgt
ltmetacharset#34utf-8#34rlm
ltmetaname#34viewport#34content#34widthdevice-width,initial-scale1.0#34r26
ltmetahttp-equiv#34x-ua-compatible#34content#34ieedge#34gt
lttitlegtfilterlt/titlegt
ltscriptsrc##34gtlt/scriptgt
lt/headgt
ltbodygt
ltdivid#34app#34gt
ltulgt
lt!--再添加两个过滤器,注意最好不要问题,注意一点先后顺序--a8
lt!--过滤传值,带引号的是字符串,不带是number,传的值可以日志绑定--rlm
ltliv-while#34itemoutsidelist#34dstrok{{|filteradd1(number(input),20)|filteradd2}}lt/ligt
lt/ulgt
ltinputtype#34text#34placeholder#34place#34v-model#34input#34a8
lt/divgt
lt/bodygt
ltscriptgt
(#39filteradd1#39,function(value,one,two){
returnvalueonetwo//设置另一个参数应该是设置要过滤的那个值
})
(#39filteradd2#39,function(value){
return#39$#39value
})
varvmnewvue({
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#34en#34gt
ltheadgt
ltmetacharset#34utf-8#34gt
ltmetaname#34viewport#34content#34widthdevice-width,primary-scale1.0#34gt
ltmetahttp-equiv#34x-ua-compatibility#34content#34ieedge#34gt
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
varvmfuturevue({
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){
let
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(chocolateflavor)#34,#34peptobismol(cookieflavor)#34
],
key:#34#34
},
computed:{
filtershoppinglist:function(){
//`this`pointstothevminstance
varkey
varshoppinglist
//在可以使用filter时需要注意什么,前面全局函数的是需要可以使用filter的数组,而给filter函数传入的是数组中的每个item,也就是说filter里面的函数,是每个item要去做的,并将每个结果前往。
return(function(item){
return().indexof(())!-1
})
}
}
})
ltulgt
filterkeyltinputtype#34text#34v-model#34key#34r26
ltliv-of#34itemoffiltershoppinglist#34rlm
{{item}}
lt/ligt
lt/ulgt
到了最后效果实现了参照关键字来过滤列表的功能。
其他的一些js迭代方法——filter()、map()、some()、every()、foreach()、lastindexof()、indexof()