美文网首页
2018-09-18过滤器,计算属性,获取日期时间

2018-09-18过滤器,计算属性,获取日期时间

作者: LYH2312 | 来源:发表于2018-09-18 19:58 被阅读0次

    {{}}叫做模板,不在其中写入太多的逻辑操作,为了方便后期维护

    1.过滤器(对页面上的数据进行筛选和过滤)

    (1)全局过滤器
    html
    <p>{{num|过滤器的名字}}</p>
    
    js
    Vue.filter("过滤器的名字",function(){})
    
    (2)局部过滤器
    html
    <p>{{num|过滤器的名字}}</p>
    new Vue({
    el"选择器",
    data:{},
    methods:{},
    filters:{
    "过滤器的名字":function(){
    }
    }
    })
    
    列如
    全局过滤器
    <div id='app'>
        <h1>{{num|addZero}}</h1>
    </div>
    
    <script>
    
    //全局过滤器
    
    Vue.filter('addZero',function(data){
            if(data<10){
                return '0'+data;
             }else{
                 return data;
             }
         })
    new Vue({
      el:"#app",
    data:{
    //               num: Math.floor(Math.random()*(max-min+1)+min)  随机数公式
                 num: Math.floor(Math.random()*(20-0+1)+0)
             }
    })
    
    </script>
    

    当小于10时会添加0,列如01,02,03,04;
    当大于10时直接输出

    局部过滤器
    <div id='app'>
          <h1>{{num|addZero}}</h1>
      </div>
    
     new Vue({
               el:'#app',
               data:{
    //               num: Math.floor(Math.random()*(max-min+1)+min)  随机数公式
                   num: Math.floor(Math.random()*(20-0+1)+0)
               },
               filters:{
                   addZero:function(data){
                   if(data<10){
                      return '0'+data;
                   }else{
                       return data;
                   }
             }
               }
           })
    

    当小于10时会添加0,列如01,02,03,04;
    当大于10时直接输出


    V@E0(529HHP8TV[E5T]G14O.png
    0J3CRSH3R%HV}PY(~5R_5YN.png
    保留两位小数,四舍五入
    全局过滤器
    <div id='app'>
            <p>{{123.456|number}}</p>
        </div>
    <script>
    
        Vue.filter('number',function(data){
            return data.toFixed(2)
        })
        new Vue({
            el:'#app',
        })
    
    </script>
    
    局部过滤器
    <div id='app'>
            <p>{{123.456|number}}</p>
        </div>
    
    <script src="js/vue.js"></script>
    <script>
    
    
        new Vue({
            el:'#app',
            data:{
    
            },
            filters:{
                number:function(data){
                    return data.toFixed(2)  //保留2位小数
                }
            }
        })
    
    </script>
    
    $M%69F2VW5S(J_O6P`0E`VD.png
    <div id='app'>
           <h1>{{new Date()|date}}</h1>
       </div>
    
        <script src='js/vue.js'></script>
    
        <script>
            Vue.filter('date',function(date){
                return date.getFullYear()+'年'+(date.getMonth()+1)+'月'+date.getDate()+"日,星期"+date.getDay()+date.getHours()+'点'+date.getMinutes()+'分'+date.getSeconds()+'秒'
            })
            new Vue({
                el:'#app'
            })
        </script>
    
    8NH%4F5~O2P$077DF0@UW(7.png

    2.计算属性

    (1)

    <div id='app'>
          <a href="">{{revMsg}}</a>
       </div>
    
        <script src='js/vue.js'></script>
    
        <script>
           new Vue({
               el:'#app',
               data:{
                   msg:'hello vue'
               },
               methods:{},
               filters:{},
               computed:{
                   revMsg:function(){
                       return this.msg.split(' ').reverse().join('&&&&&&&')
                   }
               }
           })
    
        </script>
    
    1.png

    (2)

    
     <div id='app'>
    
          <button @click='add'>加货</button>
           <h1>{{total}}</h1>
    
       </div>
    
        <script src='js/vue.js'></script>
    
        <script>
    
           new Vue({
               el:'#app',
               data:{
                   pack1:{price:5,count:3},
                   pack2:{price:4,count:6}
               },
               computed:{
                   total:function(){
                     return this.pack1.price*this.pack1.count+this.pack2.price*this.pack2.count
                      //求和并返回
                   }
               },
               methods:{
                   add:function(){
                       this.pack1.count++;
                      //使count加1,并重新放回数组pack1中重新计算,结果便是加后的值
                   }
               }
           })
    
        </script>
    
    
    2.png

    3.js中时间设置

    <script>
        var date=new Date();
        //年份
        var year=date.getFullYear();
        //月
        var mon=date.getMonth()+1;
        //日
        var ri=date.getDate();
        //星期
        var week=date.getDay();
        //时
        var hour=date.getHours();
        //分
        var min=date.getMinutes();
        //秒
        var sec=date.getSeconds();
        
        document.write(`今天是${year}年,${mon}月,${ri}日,星期${week},${hour}点,${min}分,${sec}秒`)
    </script>
    

    相关文章

      网友评论

          本文标题:2018-09-18过滤器,计算属性,获取日期时间

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