目录

1,局部过滤器

1.1定义:

1.2案例

2,全局过滤器

2.1定义:

2.2案例

3.自定义指令

3.1定义:

3.2案例

3.3自定义指令全局写法


1,局部过滤器

1.1定义:

Vue.js 允许你自定义过滤器,可被用于一些常见的文本格式化。过滤器可以用在两个地方:双花括号插值和 v-bind 表达式 (后者从 2.1.0+ 开始支持)。过滤器应该被添加在 JavaScript 表达式的尾部,由“管道”符号指示:。需要用到关键配置项filters

1.2案例

实现一个不规则字母,1,全部变成大写,2,全部变成小写。

html代码
<body><div class="app"><h3>原形态:{{str}}</h3><h3>转大写:{{str | toUpper(1)}}</h3><h3>转小写:{{str | toUpper(2)}}</h3><HR></HR></div>
js代码
new Vue({el: '.app',data() {return {str: 'aBaDE'}},filters: {toUpper(value, flag = 1) {if (flag ==1) {return value.toUpperCase()//转大写} else {return value.toLowerCase()}}}

2,全局过滤器

2.1定义:

在全局中格式化文件,全局组件都可以公用,是一种传递参数,串联的回调。

2.2案例

实现前四个字母转变大小写

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="./vue.js"></script>
</head><body><div class="app"><h3>原形态:{{str}}</h3><h3>转大写:{{str | toUpper(1)}}</h3><h3>转小写:{{str | toUpper(2)}}</h3><HR></HR></div><div class="app2"><h3>原形态:{{str2}}</h3><h3>截取前四位并转大写:{{str2 | toUpper(1) | mySlice}}</h3><h3>截取前四位并转小写:{{str2 | toUpper(2) | mySlice}}</h3></div>
</body>
<script>Vue.filter('toUpper', function (value, flag = 1) {if (flag == 1) {return value.toUpperCase()//字符串转大写} else {return value.toLowerCase()//字符串转小写}});Vue.filter('mySlice', function (value) {return value.slice(0, 4)})//全局过滤器new Vue({el: '.app',data() {return {str: 'aBaDE'}},filters: {toUpper(value, flag = 1) {if (flag ==1) {return value.toUpperCase()//转大写} else {return value.toLowerCase()}}}// filters:{    局部过滤器//     toUpper(value,flag=1){//         if(flag==1){//             return value.toUpperCase()//字符串转大写//         }else{//             return value.toLowerCase()//字符串转小写//         }//     }// }});new Vue({el: '.app2',data() {return {str2: 'qweYYY'}}})</script></html>

3.自定义指令

3.1定义:

自定义指令,顾名思义,就是我们使用者自己创建指令,如同vue给我们内置好的指令如v-model,v-on,v-band一样。我们自定义创建,然后去操作DOM元素。

3.2案例

实现数字放大10倍

html代码
<body><div class="app"><h3>原数据:{{num}}</h3>放大10倍数据:<h2 v-big="num"></h2><input type="text" v-Myfocus="num"><button @click="num++">点我+1</button></div>
</body>
js代码
<script>Vue.config.productionTip = false;Vue.directive("myfocus1",{//一上来绑定的时候bind(element,binding){element.value = binding.value*10;//绑定的值element.focus();},//当元素插入页面的使用调用inserted(element,binding){element.focus();},//更新的时候update(element,binding){element.value = binding.value*10;//绑定的值}})new Vue({el:"#root",data:{num:10,},directives:{//绑定和更新时调用big(element,binding){// console.log("指令名称:",binding.name);// console.log("绑定的名称或者表达式",binding.expression);// console.log("指令的参数",binding.arg);element.innerText = binding.value*10;//绑定的值},myfocus:{//一上来绑定的时候bind(element,binding){element.value = binding.value*10;//绑定的值element.focus();},//当元素插入页面的使用调用inserted(element,binding){element.focus();},//更新的时候update(element,binding){element.value = binding.value*10;//绑定的值}}}})</script></body>
</html>

3.3自定义指令全局写法

 Vue.directive('Myfocus',{bind(element, binding) {element.value = binding.value * 10},//元素插入页面的时候inserted(element, binding) {element.focus()},update(element, binding) {element.value = binding.value * 10},})

注意:

1,自定义指令在什么时候去调用,1,当指令和元素绑定成功的时候(一上来)   2,当指令所在模板重新解析的时候。

2,指令分为创建,绑定,使用,三个步骤。自定义指令创建完整写法应该是对象键值对形式,分为绑定时,元素插入页面时,页面更新时。

Vue中过滤器和自定义指令详解相关推荐

  1. Vue高级语法(一) | 自定义指令详解

    文章目录 Vue中自定义指令

  2. arm-linux-ld中的参数,arm-linux-ld指令详解

    arm-linux-ld指令详解 我们对每个c或者汇编文件进行单独编译,但是不去连接,生成很多.o 的文件,这些.o文件首先是分散的,我们首先要考虑的如何组合起来:其次,这些.o文件存在相互调用的关系 ...

  3. python中的opener_urllib2自定义opener详解

    urllib2.urlopen()函数不支持验证.cookie或者其它HTTP高级功能.要支持这些功能,必须使用build_opener()函数创建自定义Opener对象. 复制代码 代码如下: bu ...

  4. Vue自定义指令详解

    一.为什么需要自定义指令? 因为vue是MVVM模式,只需要关注于数据和业务逻辑,不需要关注DOM的操作,但是有时候面对一些特殊的业务需求时,需要进行DOM的操作,这个时候就需要进行自定义指令. 二. ...

  5. vue中slot(插槽)详解,slot、slot-scope和v-slot

    slot是什么 slot,也称插槽,可以类比为插卡式的FC游戏机,游戏机(子组件)暴露卡槽(插槽)让用户插入不同的游戏磁条(自定义内容),游戏机会读取并加载磁条里的游戏 Vue的slot,是组件的一块 ...

  6. AngularJS自定义指令详解(有分页插件代码)

    前言 除了 AngularJS 内置的指令外,我们还可以创建自定义指令. 通过 .directive() 函数来添加自定义的指令. 调用自定义指令时,需要在HTMl 元素上添加自定义指令名. 自定义指 ...

  7. Vue中directives用法--自定义指令控制按钮权限

    1. 新建 hasPermission.js文件 const hasPermission = {install (Vue, options) {Vue.directive('has', {insert ...

  8. angular的自定义指令---详解

    1.angualr指令 在angualr自己里面有许多丰富的指令,但都是平时所常见的,但对于自己所需要的可能有所欠缺,所以自己可能会摒弃原声指令,自己封装更为健壮灵活的指令: 其实angular里面的 ...

  9. vue 中provide的用法_聊聊Vue中provide/inject的应用详解

    众所周知,在组件式开发中,最大的痛点就在于组件之间的通信.在 Vue 中,Vue 提供了各种各样的组件通信方式,从基础的 props/$emit 到用于兄弟组件通信的 EventBus,再到用于全局数 ...

最新文章

  1. [再寄小读者之数学篇](2014-04-18 from 352558840@qq.com [南开大学 2014 年高等代数考研试题]二次型的零点)...
  2. Spark 分布式调试工具
  3. java按钮位置_java窗口按钮位置设置
  4. 2015 03 03 复习 上课笔记(一)
  5. Servlet工作原理解析
  6. BT.656标准简介
  7. 中国西北地区专题地图合集(高清)
  8. 教你Word一键自动生成目录步骤
  9. bat 自定义位数随机密码生成器
  10. 安居客无锡二手房数据获取
  11. Inception模块
  12. 五大经典算法-动态规划 及其算法应用
  13. 基于HTML+CSS+JavaScript制作学生网页——斗破苍穹动漫(6页) 排版整洁,内容丰富,主题鲜明
  14. @2021届毕业,各种招聘平台大集合!
  15. 网络营销工具:网上收集的30个常用SEO工具
  16. 伦茨科技小知识-蓝牙的通信原理和协议
  17. 取词翻译怎么用?这三个办法教给你
  18. 华为mpls实验 rip ospf sham-link
  19. 鸟巢目标检测图像数据集(1000多张高清原图;YOLO,VOC两类标签)
  20. Python.Unix和Linux系统管理指--第二章(读书笔记)

热门文章

  1. 深度学习常规概念(持续更新)
  2. LeetCode:剑指 Offer 58 - II. 左旋转字符串
  3. python许可证_一图看懂各种许可协议
  4. BJDCTF 2nd writeup(二)
  5. Android 高德地图计算 Circle 计算上下左右四个点经纬度,Circle和Polygon是否全部包含,计算地图中点到线的最短距离
  6. 【高斯 GANSS 键盘】 GS87-D 设置指南
  7. 行云创新:车云一体化平台,实现软件定义汽车
  8. 7-1 房屋分拆 (25 分)(C语言版)
  9. 剑指 Offer 31-40
  10. 【20考研数学】整体难度如何,有什么特点?