VUE-2:自定义指令、事件

2020-03-04  本文已影响0人  kino2046

directive 自定义指令

        我们还可以通过 `Vue` 提供的directive方法来自定义指令


注册指令

        `vue` 提供了两种指令注册方式

                - 全局指令

                - 局部指令

全局指令

注册在外部

局部指令

注册在组件内部

        在使用指令的时候,需要使用 `v-指令名称` 的方式来调用

ref    获取组件

        属性,vue提供的一种用于获取标签(组件)实例对象的简便方式


指令生命周期(钩子函数)


输入框光标案例:

输入框自动获得焦点 点击按钮后再获取焦点

拖拽功能案例:


.limit(修饰符,限定范围)


v-on 绑定事件

        缩写@

methods        (组件的方法集)

        在组件选项中,提供了一个 `methods` 选项,用来存放组件中使用的函数方法,且存放在 `methods` 中的函数方法可以通过组件

        实例(this)进行访问

通过内联方式绑定事件处理函数

        事件绑定函数中的 `this` 指向组件实例

事件绑定函数中的第一个参数默认为 `event` 对象

也可以在事件绑定中直接调用函数(并不会立即执行,也是通过事件触发执行的)

        事件对象需要手动传入,名称为 `$event`


事件修饰符

`vue` 还提供了许多按键修饰符


computed(计算属性,不支持异步,异步要用下面的watch)

        在实际的应用中,我们会有一些原始数据,同时在应用中又会有一些数据是根据某些原始数据派生出来的,针对这样的一种情况,

        `vue` 定义了一个专门用来处理这种派生数据的选项:`computed`

                1.计算属性类似 `getter` 和 `setter` ,当访问某个计算属性的时候,就会调用 `computed` 中同名的函数,函数的返回值将作为该计                       算属性的值

                2.计算属性的值依赖计算函数中依赖的其它响应式数据

                3.计算属性的值可以缓存,如果依赖的其它响应式数据没有发生变化,但多次访问该计算属性,得到结果是最近一次变化产生的值

                  (相对于调用方法得到结果在某些时候性能要好一些)

简写形式,get、set变体 获取时间案例 男、女、全选

计算属性的 `getter` 与 `setter`

        默认情况下,计算属性函数是一个 `getter` 函数,如果计算属性只有 get 需求,则可以简写


computed区别于method的两个核心

        1.computed是属性调用,而methods是函数调用

        2.computed带有缓存功能,而methods不是

        computed当其依赖的属性的值发生变化时,计算属性会重新计算,反之,则使用缓存中的属性值。


watch

        有的时候,我们需要的派生数据是通过异步的方式处理的,这个时候,计算属性就不太好用了(不能处理异步)。

        我们可以使用另外一个选项:`watch`

不支持promise

延迟输入用watch:


多层监听

        对于多层数据的监听,可以使用字符串+点语法

深度监听

        默认情况下,`watch` 只对当前指定的值进行一层监听,如果需要对对象进行深度监听。

        深度监听对应的函数名必须为handler,否则无效果,因为watcher里面对应的是对handler的调用


过滤器

注册过滤器

    全局过滤器

    局部过滤器

案例:


上一篇 下一篇

猜你喜欢

热点阅读