———————————-(VUE叁)————————————-

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

一.过滤器

1.全局过滤器:

相当于是Prototype

  1. 原型变量:是所有的这一类型的实例共享,任意一个实例改变这个变量,所有的实例的这个变量会同步发生变更,所以通常protype只用来定义常量或者方法
  2. 构造函数里头的成员变量:是实例所独有的

1.1)定义
  1. /*** 全局范围来定义*/
  2. Vue.filter('formatDate', function(value, pattern = 'yyyy-MM-dd'){
  3. return value.format(pattern)
  4. })

1.2)使用:

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

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

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

2.局部过滤器:

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

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

二.键盘修饰符

1.概念与作用:

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

2.定义键盘修饰符:
  1. //键盘修饰符定义 定义回车并且去f2别名
  2. Vue.config.keyCodes.f2 = 113;

3.使用
  1. <input @keyup.f2="test('回车事件')">

三.自定义指令

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

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

3.1) bind :

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

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

3.2) inserted :

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

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

3.2) updated :

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

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

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

2.1) 全局指令 => directive
  1. Vue.directive('focus',{
  2. /*** 插入时候生效
  3. * @param el 表示被指令作用的元素 dom对象 */
  4. inserted: function(el){
  5. el.focus() }})

2.2) 局部指令 => directives

2.3)指令的使用
  1. v-+指令的名称==>v-focus
  2. <h1 v-color="'green'">bind</h1>

四.生命周期

4.1)Vue四个生命周期

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

  1. beforeCreate: function(){ // 创建前
  2. console.log('beforeCreate,date:' + this.date)
  3. },
  4. created: function(){// 创建后
  5. console.log('created,date:' + this.date)
  6. },
  7. beforeMount: function(){//渲染前
  8. console.log('beforeMout')
  9. },
  10. mounted: function(){// 渲染后
  11. console.log('mounted')
  12. },
  13. beforeUpdate: function(){// 更新前
  14. console.log('beforeUpdate')
  15. },
  16. updated: function(){// 更新后
  17. console.log('updated')
  18. },
  19. beforeDestroy: function(){// 销毁前
  20. console.log('beforeDestroy, date' + this.date)
  21. },
  22. destroyed: function(){// 销毁后
  23. console.log('destroyed' + this)
  24. }

4.2)Vue生命周期图

3_(叁)_过滤器、键盘修饰符、自定义指令、生命周期day_8_8 - 图1