详解Vue自定义过滤器的实现
发布时间 - 2026-01-10 22:25:30 点击率:次一 自定义过滤器(注册在Vue全局)

注意事项:
(1)全局方法 Vue.filter() 注册一个自定义过滤器,必须放在Vue实例化前面
(2) 过滤器函数始终以表达式的值作为第一个参数。带引号的参数视为字符串,而不带引号的参数按表达式计算
(3)可以设置两个过滤器参数,前提是这两个过滤器处理的不冲突
(4)用户从input输入的数据在回传到model之前也可以先处理
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>vue自定义过滤器</title>
<script src="../js/vue.js" type="text/javascript" charset="utf-8"></script>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
</head>
<body>
<div class="test">
<p>{{message | sum}}</p>
<p>{{message | cal 10 20}}</p> <!--过滤器函数始终以表达式的值作为第一个参数。带引号的参数视为字符串,而不带引号的参数按表达式计算。-->
<p>{{message | sum | currency }}</p> <!--添加两个过滤器,注意不要冲突-->
<input type="text" v-model="message | change"> <!--用户从input输入的数据在回传到model之前也可以先处理-->
</div>
<script type="text/javascript">
// -----------------------------------------华丽分割线(从model->view)---------------------------------------
Vue.filter("sum", function(value) { //全局方法 Vue.filter() 注册一个自定义过滤器,必须放在Vue实例化前面
return value + 4;
});
Vue.filter('cal', function (value, begin, xing) { //全局方法 Vue.filter() 注册一个自定义过滤器,必须放在Vue实例化前面
return value + begin + xing;
});
// -----------------------------------------华丽分割线(从view->model)---------------------------------------
Vue.filter("change", {
read: function (value) { // model -> view 在更新 `<input>` 元素之前格式化值
return value;
},
write: function (newVal,oldVal) { // view -> model 在写回数据之前格式化值
console.log("newVal:"+newVal);
console.log("oldVal:"+oldVal);
return newVal;
}
});
var myVue = new Vue({
el: ".test",
data: {
message:12
}
});
</script>
</body>
</html>
二 自定义过滤器(注册在实例化内部)
上面的例子直接注册在Vue全局上面,其他不用这个过滤器的实例也会被迫接受,其实过滤器可以注册在实例内部,仅在使用它的实例里面注册
上面的程序改写为:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>vue自定义过滤器</title>
<script src="../js/vue.js" type="text/javascript" charset="utf-8"></script>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
</head>
<body>
<div class="test">
<p>{{message | sum}}</p>
<p>{{message | cal 10 20}}</p> <!--过滤器函数始终以表达式的值作为第一个参数。带引号的参数视为字符串,而不带引号的参数按表达式计算。-->
<p>{{message | sum | currency }}</p> <!--添加两个过滤器,注意不要冲突-->
<input type="text" v-model="message | change"> <!--用户从input输入的数据在回传到model之前也可以先处理-->
</div>
<script type="text/javascript">
Vue.filter("change", {
read: function (value) { // model -> view 在更新 `<input>` 元素之前格式化值
return value;
},
write: function (newVal,oldVal) { // view -> model 在写回数据之前格式化值
console.log("newVal:"+newVal);
console.log("oldVal:"+oldVal);
return newVal;
}
});
var myVue = new Vue({
el: ".test",
data: {
message:12
},
filters: {
sum: function (value) {
return value + 4;
},
cal: function (value, begin, xing) {
return value + begin + xing;
}
}
});
</script>
</body>
</html>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Vue自定义过滤器
# vue.js
# 自定义过滤器
# vue.js过滤器
# Vue.js每天必学之过滤器与自定义过滤器
# Vue过滤器的用法和自定义过滤器使用
# vue2.0 自定义日期时间过滤器
# vue自定义filters过滤器
# vue自定义过滤器创建和使用方法详解
# vue 过滤器和自定义指令的使用
# vue定义私有过滤器和基本使用
# Vue中过滤器定义以及使用方法实例
# 自定义
# 放在
# 第一个
# 不带
# 回传
# 分割线
# 也会
# 这两个
# 大家多多
# meta
# utf
# charset
# head
# DOCTYPE
# html
# gt
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
iOS UIView常见属性方法小结
Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧
Linux系统运维自动化项目教程_Ansible批量管理实战
今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】
使用spring连接及操作mongodb3.0实例
安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出
简单实现Android文件上传
Laravel Blade模板引擎语法_Laravel Blade布局继承用法
常州企业网站制作公司,全国继续教育网怎么登录?
高防服务器如何保障网站安全无虞?
Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程
uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址
Laravel如何记录自定义日志?(Log频道配置)
Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程
如何在阿里云虚拟服务器快速搭建网站?
Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】
Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】
iOS正则表达式验证手机号、邮箱、身份证号等
Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门
Laravel怎么在Controller之外的地方验证数据
如何在宝塔面板中创建新站点?
WEB开发之注册页面验证码倒计时代码的实现
Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程
Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】
Laravel如何实现文件上传和存储?(本地与S3配置)
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】
Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】
小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像
Laravel如何为API编写文档_Laravel API文档生成与维护方法
如何在香港服务器上快速搭建免备案网站?
Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】
Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制
Win11关机界面怎么改_Win11自定义关机画面设置【工具】
Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层
JavaScript如何实现继承_有哪些常用方法
C#如何调用原生C++ COM对象详解
详解Android——蓝牙技术 带你实现终端间数据传输
怎样使用JSON进行数据交换_它有什么限制
如何用PHP快速搭建CMS系统?
如何在宝塔面板中修改默认建站目录?
如何确保FTP站点访问权限与数据传输安全?
laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法
Android GridView 滑动条设置一直显示状态(推荐)
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
如何制作一个表白网站视频,关于勇敢表白的小标题?
如何用美橙互联一键搭建多站合一网站?
佛山网站制作系统,佛山企业变更地址网上办理步骤?
Laravel如何处理异常和错误?(Handler示例)
如何快速重置建站主机并恢复默认配置?

