美文网首页
vue.js filter过滤器 计算属性

vue.js filter过滤器 计算属性

作者: 北城_以念 | 来源:发表于2018-09-17 17:32 被阅读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>
    

    相关文章

      网友评论

          本文标题:vue.js filter过滤器 计算属性

          本文链接:https://www.haomeiwen.com/subject/dapfnftx.html