首页 > Web开发 > 详细

Vue.js基础语法(三)

时间:2019-04-24 17:55:26      阅读:141      评论:0      收藏:0      [点我收藏+]

 

1过滤器filter

例如商城中商品的价格,既是动态的,而且重复出现的频率非常高,这就意味着,一些信息是重复的,像前面可以加一个“¥”,后面接一个单位“元”:¥10元。想实现只传价格10,其他信息让其自动生成,vue里提供了过滤器filter来实现。

 

1

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>过滤器</title>
    </head>
    <body>
        <div id="app">
            <div>
                <input v-model="price">
                {{price | currency}}
            </div>
        </div>
    </body>
    <script src="js/vue.js"></script>
    <script>
        Vue.filter(currency, function(val, unit) {
            val = val || 0;
            unit = unit || ;
            return val + unit;
        });

        var app = new Vue({
            el: #app,
            data: {
                price: 10
            }
        })
    </script>
</html>

技术分享图片

技术分享图片

技术分享图片 

说明:

通过管道符|,将前面的数据price传到后面的过滤器currency中,

Vue.filter(),第一个参数是过滤器的名字,第二个参数是一个functionfunction也有两个参数(可以自定义的),第一个是传进来的值,第二个是过滤器的值,可以写在括号中传过来,就像调用函数时带着参数一样。

 

2:单位换算

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>过滤器2</title>
    </head>
    <body>
        <div id="app">
            <div>
                请输入毫米数:<input type="text" v-model="length"> 
                <br>换算成米:{{length|meter}}
            </div>
        </div>
    </body>
    <script src="js/vue.js"></script>
    <script>
        Vue.filter(meter, function(val, unit) {
            val = val || 0;
            unit = unit || ;
            return (val / 1000).toFixed(2) + unit;  //保留两位小数
        });

        var app = new Vue({
            el: #app,
            data: {
                length: 100
            }
        })
    </script>
</html>

技术分享图片

 

总结:filter就是解决一些格式的问题,可以提升用户体验的。如果filter内部非常复杂,建议写成计算属性computed,因为computed带有缓存,可重用性强。而filter都是做一些简单的事情。

 

2自定义指令

2.1基础配置

如果vue自带的指令无法满足需求,就要自定义一个指令,用法就像自定义属性一样,只要在元素上加上这个属性,就具有相应的功能,

directive来定义一个指令,第一个参数是指令名,第二个参数是回调函数,函数中第一个参数el是元素,就是指令所在的元素会自动传进来,这个元素可以用原生api来调用,也可以用jquery来调用,第二个参数binding是指令传进来的值和其他基本信息

(未完待续)

 

Vue.js基础语法(三)

原文:https://www.cnblogs.com/hzhjxx/p/10763755.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!