vue知识点复习(2)

104 阅读3分钟

这是我参与2022首次更文挑战的第7天,活动详情查看:2022首次更文挑战

前言

今天我们继续复习vue知识,我们一起来回顾一下vue的过滤器、键盘修饰符、自定义指令、生命周期(部分)。这里涉及到许多全局定义和局部定义的内容,以及他们的作用,大家也可以趁着两分钟看一看,巩固一下。

过滤器、键盘修饰符、自定义指令、生命周期总结

一.过滤器

1.全局过滤器:

相当于是Prototype

原型变量:是所有的这一类型的实例共享,任意一个实例改变这个变量,所有的实例的这个变量会同步发生变更,所以通常protype只用来定义常量或者方法
构造函数里头的成员变量:是实例所独有的
1.1)定义
  /*** 全局范围来定义*/
    Vue.filter('formatDate', function(value, pattern = 'yyyy-MM-dd'){
        return value.format(pattern)
    })
1.2)使用:

① |表示管道符用来表示我即将使用过滤器 formatDate的第一个参数固定就是管道符前面的值

② 全局和局部都有的情况,那么优先调用局部的

<h1>{{date}}</h1>
<h1>{{date|formatDate}}</h1>
<h1>{{date|formatDate('yyyy-MM-dd hh:mm:ss S')}}</h1>

2.局部过滤器:

局部:filters 跟el data methods是同级别的属性

filters:{
    //   日期格式过滤器
    formatDate (value, pattern = 'yyyy-MM-dd') {
        return value.format(pattern);
     }},

二.键盘修饰符

1.概念与作用:

相当于是event.keycode来绑定按键事件 onclick onscroll ondblclick 都是鼠标事件.... keyup keydown keypress(keydown + keyup) 键盘修饰符是给上述三类key做绑定用的。

2.定义键盘修饰符:
//键盘修饰符定义  定义回车并且去f2别名
Vue.config.keyCodes.f2 = 113;
3.使用
<input @keyup.f2="test('回车事件')">

三.自定义指令

原生指令 就是由vue提供的指令 自定义指令 用户自己定义的指令

1. 三种指令定义方式与区别:

3.1) bind :

最早发生的是bind 绑定关系发生在内存中

bind:function(el){// 表示绑定的时候就起作用
    // 不需要强制要求dom已经显示在页面的场景 // 绑定class style},
3.2) inserted :

绑定好之后的结构,插入到文档流,这个时候是inserted

inserted: function(el){// 表示被vue绑定关系之后的视图第一次插入到文档流中起作用
    // 一般是需要dom已经显示在页面而非内存的场景使用},
3.2) updated :

绑定关系的m v发生变更了,会引起updated

updated: function(el){// 表示每次v层变或者m层变,都会起作用}

2.全局指令与局部指令的定义与使用

2.1) 全局指令 => directive
Vue.directive('focus',{
    /*** 插入时候生效
    * @param el 表示被指令作用的元素 dom对象 */
    inserted: function(el){
        el.focus() }})  
2.2) 局部指令 => directives
2.3)指令的使用
v-+指令的名称==>v-focus
<h1 v-color="'green'">bind</h1>

四.生命周期

4.1)Vue四个生命周期

下述四个生命周期都没有xx中的过程,是因为本身在每个生命周期阶段xx中,表示的是vue正在执行的过程,那么如果这个时候穿插进来用户主观的行为,会破坏当前正在执行的任务

beforeCreate: function(){   //   创建前
  console.log('beforeCreate,date:' +  this.date)
},
created: function(){// 创建后
    console.log('created,date:' +  this.date)
},
beforeMount: function(){//渲染前
    console.log('beforeMout')
},
mounted: function(){// 渲染后
    console.log('mounted')
},
beforeUpdate: function(){// 更新前
    console.log('beforeUpdate')
},
updated: function(){//  更新后
    console.log('updated')
},
beforeDestroy: function(){//    销毁前
    console.log('beforeDestroy, date' + this.date)
},
destroyed: function(){// 销毁后
    console.log('destroyed' + this)
}
4.2)Vue生命周期图

来源于www.jianshu.com/p/672e967e2… 的图示 image.png