定制自定义指令和过滤器

2.全局自定义指令代码实现

全局指令:在整个项目中都可以使用。下文将教你如何建立全局指令。

1.创建指令

在创建指令时,需要在main.js中新建与声明指令。

//全局指令

Vue.directive(‘focus’, {

// 当被绑定的元素插入到 DOM 中时……

inserted: function(el) {

// 聚焦元素

el.focus()

}

})

Vue.directive(‘mycss’, {

// 当被绑定的元素插入到 DOM 中时……

inserted: function(el) {

// 聚焦元素

el.style.color = “#f00”

}

})

复制代码

2.添加g-direct.js

同时我们也需要新建g-direct.js ,并在js中新建自定义指令。

import Vue from ‘vue’

//全局指令

Vue.directive(‘focus’, {

// 当被绑定的元素插入到 DOM 中时……

inserted: function(el) {

// 聚焦元素

el.focus()

}

})

Vue.directive(‘mycss’, {

// 当被绑定的元素插入到 DOM 中时……

inserted: function(el) {

// 聚焦元素

el.style.color = “#f00”

}

})

复制代码

3.引入g-direct.js

然后在main.js引入新建立的g-direct.js 。

import Vue from ‘vue’

import App from ‘./App’

import router from ‘./router’

import g_direct from ‘./g-direct’

Vue.config.productionTip = false

/* eslint-disable no-new */

new Vue({

el: ‘#app’,

router,

components: { App },

template: ‘’

})

复制代码

4.使用自定义指令

这样,我们就可以页面中使用我们新建立的自定义指令了。当使用指令后,会执行指令的函数。

hello

<input v-focus type = “text” name = “”

aaaa

复制代码

3.局部指令实现

顾名思义,局部指令为当前页面建立,且只能在当前页面使用。下文介绍如何建立和使用局部指令。

hello

aaaa

复制代码

inserted是什么意思 vue提供了5个勾子函数: 一个指令定义对象可以提供如下几个钩子函数 (均为可选):

  • bind:只调用一次,指令第一次绑定到元素时调用。在这里可以进行一次性的初始化设置,bind是初始化调用。

  • inserted:被绑定元素插入父节点时调用 (仅保证父节点存在,但不一定已被插入文档中)。

  • update:所在组件的 VNode 更新时调用,但是可能发生在其子 VNode 更新之前。指令的值可能发生了改变,也可能没有。但是你可以通过比较更新前后的值来忽略不必要的模板更新 。

4.过滤器

过滤器是对即将显示的数据做进一步的筛选处理,然后进行显示,值得注意的是过滤器并没有改变原来的数据,只是在原数据的基础上产生新的数据。

1.全局过滤器

这里有两种写法,下文分别介绍。

1.直接写在main.js中

// The Vue build version to load with the import command

// (runtime-only or standalone) has been set in webpack.base.conf with an alias.

import Vue from ‘vue’

import App from ‘./App’

import router from ‘./router’

import g_direct from ‘./g-direct’

Vue.config.productionTip = false

Vue.filter(‘capitalize’, function(value) {

if (!value) return ‘’

value = value.toString()

return value.charAt(0).toUpperCase() + value.slice(1)

})

/* eslint-disable no-new */

new Vue({

el: ‘#app’,

router,

components: { App },

template: ‘’

})

复制代码

2.新建.js文件然后引入

main.js

// The Vue build version to load with the import command

// (runtime-only or standalone) has been set in webpack.base.conf with an alias.

import Vue from ‘vue’
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后总结

ActiveMQ+Kafka+RabbitMQ学习笔记PDF

image.png

  • RabbitMQ实战指南

image.png

  • 手写RocketMQ笔记

image.png

  • 手写“Kafka笔记”

image

关于分布式,限流+缓存+缓存,这三大技术(包含:ZooKeeper+Nginx+MongoDB+memcached+Redis+ActiveMQ+Kafka+RabbitMQ)等等。这些相关的面试也好,还有手写以及学习的笔记PDF,都是啃透分布式技术必不可少的宝藏。以上的每一个专题每一个小分类都有相关的介绍,并且小编也已经将其整理成PDF啦
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
59)]

  • 手写RocketMQ笔记

[外链图片转存中…(img-IM1MZ3fT-1713643250259)]

  • 手写“Kafka笔记”

[外链图片转存中…(img-rjIC8Kt4-1713643250259)]

关于分布式,限流+缓存+缓存,这三大技术(包含:ZooKeeper+Nginx+MongoDB+memcached+Redis+ActiveMQ+Kafka+RabbitMQ)等等。这些相关的面试也好,还有手写以及学习的笔记PDF,都是啃透分布式技术必不可少的宝藏。以上的每一个专题每一个小分类都有相关的介绍,并且小编也已经将其整理成PDF啦
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 18
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值