Vue(3)之 过滤器
1、过滤器简介
1.1、全局过滤器与局部过滤器
过滤器本质上是一个函数,与自定义指令类似。
- 全局过滤器
Vue.filter(id, [definition])
- 局部过滤器
new Vue({el: '#app',filters: {definition(value): {...}}})
案例:将字符串首字母转换为大写字母的全局过滤器
Vue.filter('capitalize', function (value) {if (!value) return '';value = value.toString();return value.charAt(0).toUpperCase() + value.slice(1);})
如果换成局部过滤器
let vm = new Vue({el: '#app',data: { // 参数定义,字典形式},computed: { // 计算属性,多次调用,只计算一次},methods: { // 普通方法,多次调用,多次计算},filters: { // 过滤器capitalize(value) {if (!value) return '';value = value.toString();return value.charAt(0).toUpperCase() + value.slice(1);}}
})
注意:
- 当全局过滤器和局部过滤器重名,会采用局部过滤器
- 与自定义命令一样,全局过滤器可以在任何 Vue 实例的模板中使用,而局部过滤器只能在该实例绑定的视图中使用
过滤器可以使用在两个地方:
- 双花括号:{{ 变量 | 过滤器 }}
- v-bind 表达式:v-bind:href=“变量 | 过滤器”
2、过滤器的参数
过滤器函数总是接收表达式的值作为第一个参数,过滤器本质上是一个 JS 函数,自然可以接收多个参数。
不建议把过滤器功能做的很复杂,这违背了过滤器的设计初衷,比如:Vue.filter(‘format’, function (value, …params) {…})
实例:为表达式的值添加前后缀的过滤器
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head><body>
<div id="app"><h2>过滤器</h2><!-- 输出:vue-filters.js --><p>{{ filename | format('vue', suffix) }}</p>
</div><script src="VueJs/vue.js"></script>
<script>Vue.filter('format', function (value, prefix, suffix) {if (!value) return '';value = value.toString();return prefix + "-" + value + "." + suffix;})let vm = new Vue({el: '#app',data: {filename: 'filters',suffix: 'js'},computed: { // 计算属性,多次调用,只计算一次},methods: { // 普通方法,多次调用,多次计算},filters: { // 过滤器}})
</script>
</body>
</html>
3、过滤器的串联
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>.profile {}</style>
</head><body>
<div id="app"><h2>过滤器</h2><!-- 输出结果:DLROW OLLEH --><p>{{ message | uppercase | reverse }}</p>
</div><script src="VueJs/vue.js"></script>
<script>Vue.filter('uppercase', function (value) {if (!value) return '';value = value.toString();return value.toUpperCase();})Vue.filter('reverse', function (value) {if (!value) return '';value = value.toString();return value.split('').reverse().join('');})let vm = new Vue({el: '#app',data: {message: 'hello world'},computed: { // 计算属性,多次调用,只计算一次},methods: { // 普通方法,多次调用,多次计算},filters: { // 局部过滤器}})
</script>
</body>
</html>
Vue(3)之 过滤器相关推荐
- vue学习日志-过滤器
一.过滤器 1.1 概述 (1)过滤器(Filters)提供了一种 执行文本转换的方法,比如说都转换成大写字母或者几乎做任何我们想做的事情. (2)过滤器既可以在 双花括号插值 中使用,也可以在 v- ...
- Vue中的过滤器(filter)
一.Vue中的过滤器是什么 过滤器(filter)是输送介质管道上不可缺少的一种装置,大白话,就是把一些不必要的东西过滤掉,过滤器实质不改变原始数据,只是对数据进行加工处理后返回过滤后的数据再进行调用 ...
- Vue.js中过滤器(filter)的使用
Vue.js 过滤器的基本使用(filter) vue中的过滤器分为两种:局部过滤器和全局过滤器.全局过滤器定义在vue类中,句柄过滤器定义在vue实例中. 1.定义无参全局过滤器 Vue.filte ...
- Vue中filters过滤器无效的原因
Vue中filters过滤器无效的原因 如果你的过滤器内部需要用到循环 请不要使用map函数代替for循环或者是foreach循环 如图: 因为过滤器本身需要一个return 把结果返回出去 然而ma ...
- Vue中的过滤器学习
在Vue中使用过滤器(Filters)来渲染数据是一种很有趣的方式.首先我们要知道,Vue中的过滤器不能替代Vue中的methods.computed或者watch,因为过滤器不改变真正的data,而 ...
- 04、Vue.js---自定义过滤器
2019独角兽企业重金招聘Python工程师标准>>> 自定义过滤器的关键字是 filter. 官网描述:Vue.js 允许你自定义过滤器,可被用于一些常见的文本格式化.过滤 ...
- 【Vue】全局过滤器和局部过滤器
Vue.js 允许自定义过滤器,可用作一些常见的文本格式化.过滤器可以用在两个地方:mustache 插值和 v-bind 表达式,被添加在 JavaScript 表达式的尾部,由管道符 (" ...
- vue学习笔记(一) ---- vue指令(过滤器)
一.什么是过滤器 官方文档:https://cn.vuejs.org/v2/guide/filters.html 二.过滤器的使用 没有使用过滤器之前: <div id="app&qu ...
- Vue中的过滤器(管道)
过滤器:将指定的数据,按照一套流程过滤加工,最后返回一个过滤之后的值 注册局部过滤器 将过滤器写在filters配置项中的是局部过滤器,只供该vue匹配的容器使用 new Vue({el: '#roo ...
- 【前端——vue】:过滤器、侦听器、计算属性、vue-cli、vue组件、动态组件、插槽、自定义属性、路由
一.过滤器 1.过滤器Filters(只能在vue2中使用) p标签里面看到的是后面函数的返回值,message相当于作为参数传给后面.竖线代表要调用过滤器. 过滤器函数必须定义到filters节点 ...
最新文章
- 中国肠道大会 | 日程及嘉宾
- 详解:开通IIS的FTP服务器并添加多个FTP用户
- Python函数封装:利用正则表达式compile、findall对多组关键词进行模糊查询并返回统计个数,findall截取两个指定符号之间的内容
- Java基础篇:回调机制详解
- “通用卷无法停止”解决方法
- 推荐系统算法总结(三)——FM与DNN DeepFM
- ConcurrentHashMap 解读
- .net 垃圾回收学习[How To: Use CLR Profiler][翻译学习]【2】
- react学习(40)----react中的jsx简介
- linux终端友好,Linux 中一种友好的 find 替代工具
- 并查集——食物链(poj1182)
- 60.Linux/Unix 系统编程手册(下) -- SOCKET: 服务器设计
- 页面转发后文本显示???_无代码软件开发中超文本显示设计
- R语言医学数据分析实战(一)数据结构与获取数据集
- 2019计算机保研 中科院信工所夏令营+中科院软件所九推记录
- COM ---- Inside COM Note
- LXDE桌面系统设置快捷键
- 软件测试零基础入门好学吗?
- 微信小程序创建节点选择器获取宽高wx.createSelectorQuery
- 在一个字符串中搜索某个特定的字符值
热门文章
- A1490. osu!(乔明达)|概率与期望|卡常|矩阵
- [日推荐]『拉了吗』出门必备
- java 启动方式 java -jar xx.jar
- post_thumbnail_html,wordpress get_the_post_thumbnail()不显示任何内容
- IDEA插件-----Squaretest(自动生成单元测试)
- 人生要懂得放弃的八个心理负担,你已经放弃了吗?
- 华为任正非老爷子的一番话,听得我不寒而栗
- uniapp微信小程序获取屏幕宽高
- 如何制作电子印章?电脑做印章最简单的方法是什么?
- 天涯明月刀手游服务器版本信息,天涯明月刀手游合服计划公告