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

发布时间:2021-05-20 15:30:24 作者:Leah
来源:亿速云 阅读:144

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

过滤器

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

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

02. 怎么做

(1)定义过滤器

通过filters结构来创建

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

需要在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)使用方式
<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. 是什么

02. 基本概念

(1)钩子函数

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

(2)参数

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

// <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() 方式注册全局指令,包含两个参数:

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

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

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

Vue的优点

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

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

推荐阅读:
  1. 如何在Vue.js中使用过滤器实现幂方求值
  2. 如何在Django中使用过滤器

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

vue

上一篇:MySQL中存储过程的优缺点有哪些

下一篇:使用pandas怎么精度处理小数位数

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》