详解Vue2基本语法第三弹

事件处理

事件的基本使用

1、使用v-on:xxx或@xxx绑定事件,其中xxx是事件名

2、事件的回调需要配置在methods对象中,最终会在vm上

3、methods中配置的函数不要使用箭头函数,否则this就不是vm了

4、methods中配置的函数,都是被vue管理的函数,this的指向是vm或组件实例对象

5、@click="demo"和@click="demo($event)"效果一致,但后者可以传参

事件修饰符

1、prevent:阻止默认事件

2、stop:阻止事件冒泡事件

3、once:事件只触发一次

4、capture:使用事件的捕获模式

5、self:只有event.target是当前操作的元素时才触发事件

6、passive:事件的默认行为立即执行,无需等待事件回调执行完毕

键盘事件

vue中常用的按键别名

  • 回车=>center

  • 删除=>delete(捕获“删除”和“退格”键)

  • 退出=>esc

  • 空格=>space

  • 换行=>tab(特殊,必须配合keydown使用)

  • 上=>up

  • 下=>down

  • 左=>left

  • 右=>right

vue未提供别名的按键,可以使用按键原始的key值去绑定,但注意组件中使用camelCased(驼峰式)命名,在html中应改为kebab-case(短横线)命名方式。

系统修饰键(用法特殊):ctrl、alt、shift、meta

(1)配合keyup使用:按下修饰键的同时,再按下其他键,随后释放其他键事件才触发

(2)配合keydown使用:正常触发事件,也可以使用keycode去指定具体的按键(不推荐)

vue.config.keyCodes.自定义键名 = 键码,可以定制按键别名

过滤器

定义:对要显示的数据进行特定格式化后再显示(适用于一些简单逻辑的处理)

语法:

1、注册过滤器

Vue.filter(name,callback)或new Vue{filters:{}}

2、使用过滤器

{{xxx | 过滤器名}} 或 v-bind:属性 = "xxx | 过滤器名"

备注

1、过滤器也可以接收额外参数,多个过滤器也可以串联

2、并没有改变原本的数据,是产生新的数据

自定义指令

定义语法

(1)局部指令

new Vue({
    directives:{
        指令名:配置对象       
    }
})

new Vue({
    directives:{
        指令名:回调函数     
    }
})

(2)全局指令vue

Vue.directive(指令名,配置对象) 或 Vue.directive(指令名,回调函数)

配置对象中常用的三个回调函数

(1)bind:指令与元素成功绑定时调用

(2)inserted:指令所在元素被插入页面时调用

(3)update:指令所在模板结构被重新解析时调用

备注

1、指令定义时不加v-,但使用时要加v-

2、指令名如果是多个单词,要使用kebab-case命名方式,不要使用camelCase命名

生命周期

  • 又名:生命周期回调函数,生命周期函数,生命周期构子
  • 是什么:Vue在关键时候帮我们调用的一些特殊名称的函数
  • 生命周期函数的名字不可更改,但函数的具体内容是程序员根据需求编写的
  • 生命周期函数中的this指向的是vm或组件实例对象

常用的生命周期构子:

  • mounted:发送Ajax请求,启动定时器,绑定自定义事件,订阅消息等初始工作
  • beforeDestroy:清除定时器,解绑自定义事件,取消订阅消息等收尾工作

关于销毁Vue实例

  • 销毁后借助Vue开发者工具看不到任何消息
  • 销毁后自定义事件会失效,但原生DOM事件依然有效
  • 一般不会在beforeDestroy操作数据,因为即使操作了数据也不会再触发更新流程了

vue生命周期分析

(1)初始化显示

  • beforeCreate()

  • created()

  • beforeMount()

  • mounted()

(2)更新状态

  • beforeUpdate()

  • updated()

(3)销毁vue实例:vm.$destroy()

  • beforeDestroy()

  • destroyed()

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值