0809 vue events, and filters function

Vue 0809 lecture notes
 
1, an event modifier
            .stop: to prevent bubbling
            .prevent: cancel the default event.
 
Filter function filters
Example 1:     
            <div>{{time | date }</div>
            filters :{
    // defines a local filter (Filter Register)    
    // The first parameter is received that is ultimately you want to filter content
                currency(v){
            // returns the filtered content is what you want to filter content    
                return ——
        }
    }
 
Example 2:
<div id="myApp">
    {{price | currency}}
    <p>{{a | currency(3)}}</p>
    <p>{{b | currency(4)}}</p>
</div>
</body>
<script>
    new view ({
        el:"#myApp",
        data:{
            price:1,
            a:2,
            b:3
        },
        filters:{
            // The first parameter is the value you want to filter, followed by the parameters that you received parameters
            currency(v,n=2){
                console.log(v,n)
                return "$"+v.toFixed(n);
            }
        }
    })
</script>
 
 
The introduction of local external filter
<div id="myApp">
    <p>价格:{{price | currency}}</p>
    <P> Time: {{time | date}} </ p>
</div>
</body>
<script>
    new view ({
        el:"#myApp",
        data:{
            price:12.456,
            time:Date.now()
        },
        filters
  //      filters:filters
         filters:{
            currency(v,n=2){
                return "$"+v.toFixed(n);
           },
             date(v){
                 const time = new Date(v);
                return time.getFullYear()+"-"+
                     (time.getMonth()+1).toString().padStart(2,"0")+"-"+
                    (time.getDate()).toString().padStart(2,"0")+" "+
                    (time.getHours()).toString().padStart(2,"0")+":"+
                     (time.getMinutes()).toString().padStart(2,"0")+":"+
                     (time.getSeconds()).toString().padStart(2,"0");
            }
        }
    
 
 
 
 
Global Filters
<body>
<div id="one">
    <p>价格:{{price | currency}}</p>
    <P> Time: {{time | date}} </ p>
</div>
<hr>
<div id="two">
    <p>价格:{{price | currency(3)}}</p>
    <P> Time: {{time | date}} </ p>
</div>
</body>
<script>
    // define global filters, filter first parameter is the name of the filter,
    // The second parameter is a method (first argument is the data to be filtered you, you back the received parameter value)
    Vue.filter("currency",function (v,n=2) {
        return v.toFixed(n);
    })
    Vue.filter("date",function (v) {
        const time = new Date(v);
        return time.getFullYear()+"-"+
            (time.getMonth()+1).toString().padStart(2,"0")+"-"+
            (time.getDate()).toString().padStart(2,"0")+" "+
            (time.getHours()).toString().padStart(2,"0")+":"+
            (time.getMinutes()).toString().padStart(2,"0")+":"+
            (time.getSeconds()).toString().padStart(2,"0");
    })
    new view ({
        el:"#one",
        data:{
            price:100000,
            time:Date.now()
        }
    })
    new view ({
        el:"#two",
        data:{
            price:20000,
            time:Date.now()
        }
    })
</script>
 
 
External introduced Global Tracker
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="lib/vue.js"></script>
    <script src="lib/vue-filters.js"></script>
</head>
<body>
<div id="one">
    <p>价格:{{price | currency}}</p>
    <P> Time: {{time | date}} </ p>
</div>
<hr>
<div id="two">
    <p>价格:{{price | currency(3)}}</p>
    <P> Time: {{time | date}} </ p>
</div>
</body>
<script>
    for(let  key in filters){
        // key filters[key]
        Vue.filter(key,filters[key]);
    }
    new view ({
        el:"#one",
        data:{
            price:100000,
            time:Date.now()
        }
    })
    new view ({
        el:"#two",
        data:{
            price:20000,
            time:Date.now()
        }
    })
</script>
 
Outer package is introduced:
let filters = {
    currency(v,n=2){
        return "$"+v.toFixed(n);
    },
    date(v){
        const time = new Date(v);
        return time.getFullYear()+"-"+
            (time.getMonth()+1).toString().padStart(2,"0")+"-"+
            (time.getDate()).toString().padStart(2,"0")+" "+
            (time.getHours()).toString().padStart(2,"0")+":"+
            (time.getMinutes()).toString().padStart(2,"0")+":"+
            (time.getSeconds()).toString().padStart(2,"0");
    }
}
 

Guess you like

Origin www.cnblogs.com/wangwenxin123/p/11409866.html