美文网首页饥人谷技术博客
vue.js-过滤器、指令、事件、语法糖

vue.js-过滤器、指令、事件、语法糖

作者: 学的会的前端 | 来源:发表于2019-08-05 18:38 被阅读3次

小练习

  • 需求: 在页面中实时显示当前时间
<body>
<div id = "dataApp">
    {{date}}
</div>
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
<script>
    //需求:在页面中实时显示当前时间
    var app = new Vue({
        el: "#dataApp",
        data: {
          date: new Date()
        },
        mounted: function(){
          var _this = this; //this代表的就是vue实例
            //setInterval():定时器
            this.timer = setInterval(function(){
              _this.date = new Date();
            },1000)
        },
        //在vue 实例销毁之前,必须清楚定时器
        beforeDestroy:function(){
          //如果定时器存在,就清除定时器
            if(this.timer){
              clearInterval(this.timer)
            }
        }

    })
</script>
</body>

过滤器

  • Vue. 支持在{{}}插值的尾部添加一小管道符 “ | ” 对数据进行过滤,经常用于格
    式化文本,比如字母全部大写、货币千位使用逗号分隔等。过滤的规则是自定义
    的, 通过给 Vue 实例添加选项 filters 属性来设置

  • 过滤器的串联
    过滤器:{{ data | filter1 |filter2}}

  • 过滤器的参数
    {{date | formatDate(‘argue’,‘arg2’)}} 中的第一个和第二个参数,分别对应过滤器的第二个和第三个参数。例如:
    {{date | formatDate(66,99)}}和formatDate: function(value,a,b)中,a=66,b=99

  • 对date中的数据进行处理

<div id = "dataApp">
    {{date}}
    <br/>
    <!--过滤器,|后面紧跟过滤器的名字,-->
    {{date | formatDate}}
//过滤器
var plusDate = function(value){
      return value < 10 ? '0' + value : value //如果value < 10返回 0+value,大于10,返回value
    };
    var app = new Vue({
        el: "#dataApp",
        data: {
          date: new Date()
        },
        //定义过滤器,因为过滤器不只是一个,所以生成对象
        filters: {
          //value是默认属性,必须添加,va
            formatDate: function(value){
              //将字符串转化成date类型
                var date = new Date(value);
                var year = date.getFullYear(); //年
                var month = plusDate(date.getMonth() + 1);//月
                var day = plusDate(date.getDay()); //日
                var hours = plusDate(date.getHours()); //时
                var min = plusDate(date.getMinutes()); //分
                var sec = plusDate(date.getSeconds()) //秒
                //将整理好的数据返回
                return year + '--' + month + '--' + day + '--' + hours + '--' + min + '--' + sec;

          }
        },
.....

指令和事件

指令( Directives )是 Vue 模板中最常用的一项功能,它带有前缀 v-,能帮我们
快速完成DOM操作。循环渲染。显示和隐藏

  • v-­text:—————­解析文本 和{{ }} 作用一样,只会解析文本,把字符串直接渲染到页面上。
    在标签中以属性的形式引入v-text = 'apple',那么在data中定义的apple的内容就会渲染到页面上。
    {{apple}}<br/><span v-text = "apple"></span>作用一模一样
  • v-­html:————— 解析html
    <span v-html = "banana"></span>
  • v-­bind—————–v-­bind 的基本用途是动态更新 HTML 元素上的属性,比如 id 、
    class 等。v-bind只能绑定活的属性!
<div class = "{{className}}"></div> <!--拿不到值-->
<div v-bind:class = "className"></div> <!--可以拿得到值-->
  • v-­on——————它用来绑定事件监听器
    <button v-on:click = "count">{{countnum}}</button>
    v­on具体介绍
    在普通元素上, v­on 可以监听原生的 DOM 事件,除了 click 外,还有
    dblclick、 keyup, mousemove 等。表达式可以是一个方法名,这些方法都
    写在 Vue 实例的 methods 属性内,并且是函数的形式,函数内的 this 指向
    的是当前 Vue 实例本身,因此可以直接使用 this.xxx 的形式来访问或修改数
    据。

vue中用到的所有方法都定义在methods中,和data平级。

  • 指令具体的代码实现
<body>
    <div id = "app">
        获取message数据:{{message}}<br/>
        v-text:解析文本:<span v-text = "apple"></span><br/>
        v-text解析HTML,显示的HTML字符串而不是相应地元素渲染<br/>
        <div v-text = "banana"></div>
        v-html解析HTML:<div v-html = "banana"></div>
        v-bind绑定活的属性:<div v-bind:class = "className"></div>
        v-bind的语法糖:<div :class = "className"></div>
        v-on绑定事件:<button v-on:click = "count">{{countnum}}</button><br/>
        v-on绑定事件的语法糖:<button @click = "count">{{countnum}}</button>
    </div>
    <script>
    var app = new Vue({
        el: "#app",
        data: {
            message: 'hello!',
            apple: '这是一个苹果!',
            banana: '<span style = "color: red;">这是红色</span>',
            className: 'content',
            countnum: 0
        },
        methods: {
            count: function(){
                this.countnum = this.countnum + 1
            }
        }
    })
    
    
    </script>
</body>

语法糖

语法糖是指在不影响功能的情况下 , 添加某种简洁方法实现同样的效果 , 从而更加方便程序开发。

v-bind: 可以转换成 :
v-on: 可以转换成@

相关文章

  • vue.js-过滤器、指令、事件、语法糖

    小练习 需求: 在页面中实时显示当前时间 过滤器 Vue. 支持在{{}}插值的尾部添加一小管道符 “ | ” 对...

  • 2.过滤器、指令、事件、语法糖

    2.1. 过滤器 Vue. 支持在{{}}插值的尾部添加一小管道符 “ | ” 对数据进行过滤,经常用于格 式化文...

  • Vue过滤器、指令和事件、语法糖

    1、过滤器的定义 Vue. 支持在{{}}插值的尾部添加一小管道符 “| ” 对数据进行过滤,经常用于格式化文本,...

  • Vue

    基础 语法 指令 计算属性 条件判断,循环 Class,Style 事件处理 组件 全局注册 局部注册 过滤器 全...

  • Vue指令、语法糖、事件

    指令:带v-的语法糖就是缩写 事件实例 方式一 方式二 方式三 欢迎大神加入群聊:467637093共同进步

  • Vue作品考核回顾

    基本指令 插值语法 Mustache 语法 {{ }} v-on v-on 监听指令, 语法糖为@ 在调用方法时,...

  • 2020-02-08

    键盘事件,v-for循环,事件控制,过滤器写法(公有,私有),全局指令写法

  • awk的用法

    1.awk语法 awk 'pattern {action}' file awk:指令名称 pattern:过滤器 ...

  • Vue 成长之旅 | Vue基础用法一

    一、Vue 基础使用 二 、 Vue的指令与过滤器 1、指令的概念 指令: 是vue为开发者提供的模板语法 , 用...

  • VUE 模板语法

    模板语法 插值: 文本,纯html,属性,js表达式 指令:参数,修饰符 Filter: 过滤器, 过滤器函数 缩...

网友评论

    本文标题:vue.js-过滤器、指令、事件、语法糖

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