Vue框架整理:插值、表达式 与 过滤器

这里写图片描述

插值 与 表达式

1、 双大括号:{{ }}     是最基本的“文本”插值方法,能够实时显示我们需要的数据


<script>

    var app=new Vue({
        el:"#v1",
        data:{
            date:new Date()
        },
        mounted:function () {
            var current=this;
            this.timer=setInterval(function () {
                current.date=new Date().getSeconds();   //每秒刷新当前时间的秒数位
            },1000);
        },
        beforeDestory:function () {
            if(this.timer){
                clearInterval(this.timer);
            }
        }
    })
</script>

这里写图片描述 {{ }} 也可以直接在HTML中直接使用JavaScript的部分表达式进行一些简单运算:

<body>



<div id="v1">
    <p>
        {{ today.split("") }}
    </p>

    <p>
        {{ mood ? "放松" : "高兴" }}
    </p>


</div>

<script src="vue.min.js"></script>
<script>
    var app=new Vue({
        el:"#v1",
        data:{
            today:"今天是周末",
            mood:true
        }
    })

</script>

页面显示:

这里写图片描述

这里需要注意一下,目前只支持单个表达式、并且不能使用自定义变量,只能用Vue白名单内的全部变量,Date , Math等;



2、 v-pre : 这个不会将 双大括号{{ }} 进行转义


<p v-pre>{{ escaped }}</p>

页面上显示 : {{ no escaped }}

没有将{{ }}中内容进行转义,直接输出括号里的信息


3、v-html 直接渲染出 HTMLElement


<body>

<div id="v1">
    <span v-html="link"></span>
</div>

<script src="vue.min.js"></script>
<script>
    var app=new Vue({
        el:"#v1",
        data:{
            link:"<button>vue按钮</button>"
        }
    })

</script>
</body>

页面显示:
这里写图片描述

这里写图片描述

Vue 过滤器
可以用管道符 | 对数据进行过滤,过滤的规则自定义,然后通过Vue实例添加选项 filters设置


<body>

    <div id="v1">

        {{ date | setDate }}

    </div>

    <script src="vue.min.js"></script>

    <script>
    var app=new Vue({
        el:"#v1",
        data:{
           date:new Date()
        },
        filters:{
            setDate:function (value) {
                var date=new Date(value);
                var year=date.getFullYear(),
                    m=date.getMonth()+1,
                    month=m<10 ? "0"+m : m,
                    d=date.getDate(),
                    day=(d<10) ? "0"+d : d;

                return year+"-"+month+"-"+day;
            }
        }
    })
</script>
</body>

过滤器也可以串联或接收参数:

语法:

串联: {{ message | 方法1 | 方法2 }}

接收参数 : {{ message | 方法名(‘arguments1’ , ‘arguments2’)}}

简单的数据处理可以使用过滤器,遇到复杂的还是建议用其他方法计算比较好一些

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值