广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue 过滤器和自定义指令的使用
  • 162
分享到

vue 过滤器和自定义指令的使用

2024-04-02 19:04:59 162人浏览 八月长安
摘要

目录过滤器 01. 是什么 02. 怎么做 (1)定义过滤器 (2)使用方式 (3)过滤器的参数03. 封装过滤器函数 自定义指令 01. 是什么 02. 基本概念 (1)钩子函数

过滤器

01. 是什么

过滤器可以对我们传入的数据进行必要的处理,并返回处理的结果

  • 过滤器不会修改数据
  • 过滤器的本质是函数
  • 过滤器函数应该有参数,参数必须包含你想进行处理的源数据
  • 过滤器应该有返回值,返回处理后的结果

export default {
    // 通过filters创建局部过滤器
    filters:{
        过滤器名称(data){
            // 对传入的data 进行处理
            return 处理结果
        }  
    }
}

02. 怎么做

(1)定义过滤器

  • 局部过滤器:定义在组件内部,只能在当前组件内使用

通过filters结构来创建


export default {
    // 通过filters创建局部过滤器
    filters:{
      过滤器名称(data){
          // 进行处理
          return 处理结果
      }  
    }
}
  • 全局过滤器:通过Vue.filter创建全局过滤器,一次只能创建一个,可以在任何组件中使用

需要在Vue实例创建之前定义


Vue.filter(过滤器名称,(data) => {
    // do something
    return 处理结果
})

在单独的文件中创建一个全局过滤器
在需要用到的组件中引入,并在filters中注册


import Vue from 'vue'
// 通过Vue.filter创建全局过滤器
const filter1 = Vue.filter(过滤器名称,(data) => {
    // do something
    return 处理结果
})
// 导出
export {
    filter1
}

// 在组件中--引入过滤器
import { filter1 } from '@/utils/filters.js'

export default {
    // 在组件内的 filters中,添加过滤器
    // filters既可以创建过滤器,又可以用来注册过滤器
    // 只有在filters中注册的才会被认为是过滤器
    filters: {
        filter1
    }
}

(2)使用方式

  • 在插值表达式{{}}中,或者v-bind表达式中,通过管道操作符——|来使用过滤器
  • 格式:{{ 源数据 | 过滤器 }}

<div> {{ 数据 | 过滤器 }} </div>
  • 多次使用

过滤器支持多个并行使用,前者的处理结果,将作为后者的参数传入


<div> {{ 数据 | 过滤器1 | 过滤器2 }}</div>

(3)过滤器的参数

  • 如果没有手动传递参数,那么默认就会传递管道符前面的数据
  • 如果手动的传递了参数,也不会影响默认参数的传递
    • 过滤器函数的第一个参数永远是管道符前面的数据
    • 而手动传递的参数,从参数列表的第二个开始,依次向后

03. 封装过滤器函数

  • 过滤器的本质就是一个函数,所以可以在一个单文件中直接封装一个过滤器函数

// 定义函数
const filterA = () => {}
const filterB = () => {}
// 导出函数对象
export { filterA, filterB }
  • 然后再需要的组件内引入函数,并注册为过滤器

import * as filters from './filters.js'
//遍历 filters.js 内的方法
Object.keys(filters).forEach(key => { 
  Vue.filter(key, filters[key])
})

自定义指令

01. 是什么

  • 要对普通 DOM 元素进行底层操作,这时候就会用到自定义指令
    • 也就是说自定义指令主要是对 DOM 元素进行操作

02. 基本概念

(1)钩子函数

一个指令定义对象可以提供如下几个钩子函数 (均为可选):

  • bind:只调用一次,指令第一次绑定到元素时调用,用这个钩子函数可以定义一个绑定时执行一次的初始化事件
  • inserted:当被绑定的元素插入父节点时调用 ,只要父节点存在即可,即使它没有插入文档中
  • update:当被绑定元素所在组件更新时调用,无论绑定的值是否发生变化都会调用。但可以通过比较更新前后的值,来忽略不必要的模板更新
  • componentUpdated:当被绑定元素所在组件的全部更新后,即完成一次更新周期时调用
  • unbind:只调用一次,指令与元素解绑时调用

(2)参数

指令钩子函数会被传入以下参数:

  • el:指令所绑定的元素,可以用来直接操作 DOM,即放置指令的那个元素
  • binding:一个对象,里面包含多个属性
    • name:指令名,没有v-前缀
    • value:指令绑定的值,可以绑定一个对象以传递多个值
    • oldValue:指令绑定的旧值,禁止update和componentUpdated钩子中可用,无论值是否改变
    • expression:字符串形式的指令表达式
    • arg:传递给指令的参数
    • modifiers:一个包含修饰符的对象
  • vnode:Vue 编译生成的虚拟节点
  • oldVnode:上一个虚拟节点,仅在 update 和 componentUpdated 钩子中可用

// <div v-demo:left="100"></div>
// 这里的 left 即为指令的 bingding对象的arg
// 100 即为指令的 bingding对象的value
Vue.directive('demo',{
    // el--表示被绑定的元素,即指令在放置的那一个元素
    bind(el,binding,vnode){
        // 可以直接对这个元素进行一些处理
        el.style.position = 'fixed';
        const s = ( binding.arg == 'left' ? 'left' : top );
        el.style[s] = binding.value + 'px';
    }
})

03. 指令注册

(1)全局注册

通过 Vue.directive() 方式注册全局指令,包含两个参数:

  • 第一个参数为自定义指令名称,指令名称不需要加 v- 前缀,默认是自动加上前缀的,在使用指令的时候加上前缀即可
  • 第二个参数可以是对象数据,也可以是一个指令函数

Vue.directive("指令名称", {
    inserted: function(el){
        // do something
    }
})

(2)局部注册

通过在Vue实例中添加 directives 对象数据注册局部自定义指令


export default {
    directives: {
        指令名:{
            函数
        }
    }
}

以上就是vue 过滤器和自定义指令的使用的详细内容,更多关于vue 过滤器和自定义指令的资料请关注编程网其它相关文章!

--结束END--

本文标题: vue 过滤器和自定义指令的使用

本文链接: https://www.lsjlt.com/news/126426.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue 过滤器和自定义指令的使用
    目录过滤器 01. 是什么 02. 怎么做 (1)定义过滤器 (2)使用方式 (3)过滤器的参数03. 封装过滤器函数 自定义指令 01. 是什么 02. 基本概念 (1)钩子函数 ...
    99+
    2022-11-12
  • 如何在vue中使用过滤器和自定义指令
    本篇文章给大家分享的是有关如何在vue中使用过滤器和自定义指令,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。过滤器过滤器可以对我们传入的数据进行必要的处理,并返回处理的结果过滤...
    99+
    2023-06-15
  • vue全局自定义指令和局部自定义指令的使用
    目录局部自定义指令(只针对组件内的元素)定义全局自定义指令自定义指令的钩子函数自定义指令钩子函数的参数例子除了默认设置的核心指令 (v-model 和 v-show),Vue 也允许...
    99+
    2022-11-13
  • Vue过滤器怎么自定义及使用
    这篇文章主要介绍“Vue过滤器怎么自定义及使用”,在日常操作中,相信很多人在Vue过滤器怎么自定义及使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue过滤器怎么自定义及使用”的疑惑有所帮助!接下来,请跟...
    99+
    2023-07-04
  • vue如何自定义过滤器
    在vue中自定义过滤器的方法:1.新建vue.js项目;2.使用Vue.filter()方法自定义过滤器;具体步骤如下:首先,在vue-cli中创建一个vue.js项目;vue create project-namevue.js项目创建好后...
    99+
    2022-10-06
  • vue如何使用自定义指令
    这篇文章将为大家详细讲解有关vue如何使用自定义指令,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 使用自定义指令的逻辑与使用事件修饰符的逻辑...
    99+
    2022-10-19
  • vue定义私有过滤器和基本使用
    私有过滤器和全局过滤器的方法和概念都相同,只是一个是全局都可以调用,而私有的只有自己可以调用, 全局过滤器点这里全局过滤器 使用方法也和全局过滤器一致,只是定义的地方不同 全局过...
    99+
    2022-11-12
  • vue指令及其过滤器怎么使用
    本篇内容主要讲解“vue指令及其过滤器怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue指令及其过滤器怎么使用”吧!vue 指令与过滤器内容渲染指令内容渲染指令是用来辅助开发者渲染 D...
    99+
    2023-07-05
  • vue中的自定义指令如何使用
    这篇文章主要介绍“vue中的自定义指令如何使用”,在日常操作中,相信很多人在vue中的自定义指令如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue中的自定义指令如何使用”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-29
  • Vue 3.0自定义指令的使用入门
    目录一、自定义指令1、注册全局自定义指令2、使用全局自定义指令3、完整的使用示例二、注册全局自定义指令的过程三、应用挂载的过程四、阿宝哥有话说4.1 Vue 3 有哪些内置指令?4....
    99+
    2022-11-12
  • vue自定义指令directive的使用场景
    目录1. 一个指令定义对象可以提供如下几个钩子函数(均为可选)2.指令钩子函数会被传入以下参数3.使用自定义指令场景的示例1. 一个指令定义对象可以提供如下几个钩子函数(均为可选) ...
    99+
    2023-05-16
    vue 自定义指令directive 自定义指令directive directive使用场景
  • 浅析vue中的自定义指令使用
    Vue3版本:有稍微变化,由于本文主要说的都是 Vue2 版本的(也是手上很多 vue2 版本的老项目在维护),Vue3的就不做详细介绍了,感兴趣可查看: cn.vuejs.org/guide/reusa…实战以下都是我在项目中用到的自定义...
    99+
    2023-05-14
    Vue 指令 自定义指令
  • Vue怎么自定义指令directive使用
    本篇内容主要讲解“Vue怎么自定义指令directive使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue怎么自定义指令directive使用”吧!1. 一个指令定义对象可以提供如下几个钩...
    99+
    2023-07-06
  • Vue中如何使用自定义指令
    今天就跟大家聊聊有关Vue中如何使用自定义指令,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1.自定义指令的语法Vue自定义指令语法如下:Vue.d...
    99+
    2022-10-19
  • 详解Vue自定义指令及使用
    目录一、什么是指令vue 中常用的一些内置 v- 指令v-if 和 v-show 的对比二、自定义指令的钩子函数三、全局指令四、局部指令五、带参数的自定义指令六、函数简写七、应用实例...
    99+
    2022-11-12
  • Vue自定义指令及使用实例
    这篇文章主要介绍了Vue自定义指令及使用实例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、什么是指令学习 vue 的时候肯定会接触指令,那么什么是指令呢?在 vue 中提...
    99+
    2023-06-15
  • vue中的自定义指令clickOutside
    目录自定义指令clickOutside首先我们先看看vue官方的文档clickoutside 这个指令用在哪里呢?写法自定义指令clickoutside使用及扩展用法自定义指令cli...
    99+
    2022-11-13
  • Vue自定义指令的使用详细介绍
    目录1. 概述2. 钩子函数3. 自定义全局指令4. 自定义局部指令5. 使用自定义指令实现权限管理6. 使用自定义指令实现表单验证1. 概述 除了核心功能默认内置的指令,Vue也允...
    99+
    2022-11-13
  • Vue自定义指令的使用实例介绍
    目录何为自定义指令实例解析1.基本知识介绍2.使用自定义指令实现改变输入框位置总结何为自定义指令 通过前面的学习,我们都有了一定的Vue知识,我们都知道可以在Vue实例创建后,在te...
    99+
    2023-05-16
    Vue自定义指令使用 Vue自定义指令原理
  • vue中自定义指令怎么用
    小编给大家分享一下vue中自定义指令怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1、v-drag需求:鼠标拖动元素思路:元素偏移量 = 鼠标滑动后的坐标 - 鼠标初始点击元素时的坐标 + 初始点击时元素距离可视区域...
    99+
    2023-06-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作