vue.js filter过滤器 计算属性
2018-09-17 本文已影响0人
北城_以念
1.过滤器
过滤器是让要显示在页面上的内容进行重新筛选
把要显示在页面上的数据进行筛选或重新操作,分为全局过滤和局部过滤
1.)全局过滤器
Vue.filter('过滤器的名字',function(){
})
html
<p>{{msg|过滤器的名字}}</p>
new Vue({
})
2.)局部过滤器
new Vue({
el:''
data:{}
methods:{},
filters:{
过滤器名:function(data){
}
})
练习
保留两位小数练习
<div id='itany'>
<p>{{123.41233|number}}</p>
</div>
<script src='js/vue.js'></script>
<script>
// Vue.filter("number",function(data){
// return data.toFixed(2)
// })
new Vue({
el:'#itany',
filters:{
number:function(data){
return data.toFixed(2)
}
}
})
</script>
时间过滤练习
<div id='itany'>
<p>{{new Date()|date}}</p>
</div>
<script src='js/vue.js'></script>
<script>
Vue.filter("date",function(data){
return data.getFullYear()+'年'+(data.getMonth()+1)+'月'+data.getDate()+'日,星期'+data.getDay()+','+data.getHours()+'点'+data.getMinutes()+'分'+data.getSeconds()+'秒';
})
new Vue({
el:'#itany'
})
</script>
2.计算属性
练习
计算属性练习
<div id='itany'>
<h1>{{msg.split(' ').reverse().join('===')}}</h1>
<a href="#">{{count}}</a>
</div>
<script src='js/vue.js'></script>
<script>
new Vue({
el:'#itany',
data:{
msg:'hello vue'
},
computed:{//计算属性
count:function(){ //切割 split 置换reverse 拼接符join
return this.msg.split(' ').reverse().join('===')
}
}
})
</script>
计算属性加货练习
<div id='itany'>
<button @click='add'>加货</button>
<h1>{{total}}</h1>
</div>
<script src='js/vue.js'></script>
<script>
new Vue({
el:'#itany',
data:{
package1:{price:2,count:3},
package2:{price:4,count:6}
},
computed:{
total:function(){
return this.package1.price*this.package1.count+this.package2.price*this.package2.count
}
},
methods:{
add:function(){
this.package1.count++;
}
}
})
</script>