广告
返回顶部
首页 > 资讯 > 精选 >如何在vue中使用过滤器和自定义指令
  • 654
分享到

如何在vue中使用过滤器和自定义指令

2023-06-15 03:06:37 654人浏览 安东尼
摘要

本篇文章给大家分享的是有关如何在Vue中使用过滤器和自定义指令,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。过滤器过滤器可以对我们传入的数据进行必要的处理,并返回处理的结果过滤

本篇文章给大家分享的是有关如何在Vue中使用过滤器和自定义指令,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

过滤器

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

  • 过滤器不会修改数据

  • 过滤器的本质是函数

  • 过滤器函数应该有参数,参数必须包含你想进行处理的源数据

  • 过滤器应该有返回值,返回处理后的结果

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对象的valueVue.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具体轻量级框架、简单易学、双向数据绑定、组件化、数据和结构的分离、虚拟DOM、运行速度快等优势,Vue中页面使用的是局部刷新,不用每次跳转页面都要请求所有数据和dom,可以大大提升访问速度和用户体验。

以上就是如何在vue中使用过滤器和自定义指令,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网精选频道。

--结束END--

本文标题: 如何在vue中使用过滤器和自定义指令

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

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

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

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

下载Word文档
猜你喜欢
  • 如何在vue中使用过滤器和自定义指令
    本篇文章给大家分享的是有关如何在vue中使用过滤器和自定义指令,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。过滤器过滤器可以对我们传入的数据进行必要的处理,并返回处理的结果过滤...
    99+
    2023-06-15
  • vue 过滤器和自定义指令的使用
    目录过滤器 01. 是什么 02. 怎么做 (1)定义过滤器 (2)使用方式 (3)过滤器的参数03. 封装过滤器函数 自定义指令 01. 是什么 02. 基本概念 (1)钩子函数 ...
    99+
    2022-11-12
  • vue如何自定义过滤器
    在vue中自定义过滤器的方法:1.新建vue.js项目;2.使用Vue.filter()方法自定义过滤器;具体步骤如下:首先,在vue-cli中创建一个vue.js项目;vue create project-namevue.js项目创建好后...
    99+
    2022-10-06
  • Vue中如何使用自定义指令
    今天就跟大家聊聊有关Vue中如何使用自定义指令,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1.自定义指令的语法Vue自定义指令语法如下:Vue.d...
    99+
    2022-10-19
  • Vue中在setup下如何使用自定义指令
    目录如何在setup下使用自定义指令1. 局部的自定义指令2. 全局注册自定义指令3. 简单的效果图4. 千万要注意如何在setup下使用自定义指令 1. 局部的自定义指令 html...
    99+
    2022-11-13
  • vue如何使用自定义指令
    这篇文章将为大家详细讲解有关vue如何使用自定义指令,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 使用自定义指令的逻辑与使用事件修饰符的逻辑...
    99+
    2022-10-19
  • vue全局自定义指令和局部自定义指令的使用
    目录局部自定义指令(只针对组件内的元素)定义全局自定义指令自定义指令的钩子函数自定义指令钩子函数的参数例子除了默认设置的核心指令 (v-model 和 v-show),Vue 也允许...
    99+
    2022-11-13
  • Vue过滤器怎么自定义及使用
    这篇文章主要介绍“Vue过滤器怎么自定义及使用”,在日常操作中,相信很多人在Vue过滤器怎么自定义及使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue过滤器怎么自定义及使用”的疑惑有所帮助!接下来,请跟...
    99+
    2023-07-04
  • vue中的自定义指令如何使用
    这篇文章主要介绍“vue中的自定义指令如何使用”,在日常操作中,相信很多人在vue中的自定义指令如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue中的自定义指令如何使用”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-29
  • Vue中如何自定义指令
    这篇文章主要介绍Vue中如何自定义指令,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Vue中除了内置指令,也允许注册自定义的指令。自定义指令提供一种将数据的变化映射为DOM的行为例如:当我们想用一个函数表示焦点Vue...
    99+
    2023-06-04
  • 浅析vue中的自定义指令使用
    Vue3版本:有稍微变化,由于本文主要说的都是 Vue2 版本的(也是手上很多 vue2 版本的老项目在维护),Vue3的就不做详细介绍了,感兴趣可查看: cn.vuejs.org/guide/reusa…实战以下都是我在项目中用到的自定义...
    99+
    2023-05-14
    Vue 指令 自定义指令
  • vue定义私有过滤器和基本使用
    私有过滤器和全局过滤器的方法和概念都相同,只是一个是全局都可以调用,而私有的只有自己可以调用, 全局过滤器点这里全局过滤器 使用方法也和全局过滤器一致,只是定义的地方不同 全局过...
    99+
    2022-11-12
  • 在vue自定义组件中使用 v-model指令详情
    目录一、前言1.技术点提前知二、在自定义的vue组件中使用v-model1.效果演示图2.自定义组件代码示例3.在父组件使用自定义组件三、优写时刻一、前言 如何实现在自定义的vue组...
    99+
    2022-11-13
  • 如何使用vue自定义指令构建拖放插件
    我们都知道html5的拖放特性,利用它可以很方便的实现拖拽和放置功能,比如一些选择类操作的使用场景,让用户去拖拽比鼠标点击更容易接受和理解。今天我们就利用这一特性,结合vue的自定义...
    99+
    2022-11-12
  • Vue中过滤器定义以及使用方法实例
    目录介绍Vue中过滤器如何使用组件内过滤器全局过滤器补充:vue中的过滤器可以格式化以及美化内容总结介绍 过滤器实质不改变原始数据,只是对数据进行加工处理后返回过滤后的数据再进行调用...
    99+
    2022-11-13
    vue过滤器的使用 vue的过滤器 vue的过滤器语法
  • vue中自定义指令(directive)的基本使用方法
    目录前言正文1.全局注册2.局部注册3.钩子函数及参数设置4.灵活用法(1)动态指令参数(2)函数简写方式(3)对象字面量方式5.使用场景写在最后前言 在vue项目中我们经常使用到 ...
    99+
    2022-11-12
  • 使用SpringBoot如何实现自定义过滤器与拦截器
    使用SpringBoot如何实现定义过滤器与拦截器?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、自定义过滤器创建一个过滤器,实现javax.servlet.Filter...
    99+
    2023-05-31
    springboot 拦截器 监听器
  • 如何通过Vue自定义指令实现前端埋点详析
    目录前言埋点上报方式都有哪些?一般对哪些数据做埋点?需求分析代码实现Click 类封装Exposure 类封装指令封装使用不足总结前言 在营销活动中,通过埋点可以获取用户的喜好及交互...
    99+
    2022-09-27
  • Vue3中的setup与自定义指令如何使用
    本篇内容主要讲解“Vue3中的setup与自定义指令如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue3中的setup与自定义指令如何使用”吧!setup语法糖最大好处就是所有声明部分...
    99+
    2023-07-06
  • Vue中的自定义指令有哪些及怎么使用
    本篇内容主要讲解“Vue中的自定义指令有哪些及怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vue中的自定义指令有哪些及怎么使用”吧!1、什么是自定义指令vue 官方提供了 v-text...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作