【溯源篇】从头看vue(八)——过滤器串联及带参

news/2024/7/9 23:49:23 标签: 过滤器, vue, filter, javascript

上篇说到:过滤器可以串联接收参数

过滤器串联及带参示例

javascript">    // 过滤器是 JavaScript 函数,因此可以接收参数
    // 第一个形参str为待处理元素message,第二个形参data1为replace函数传入的第一个参数,以此类推
    Vue.filter('filterA', function(str, data1,data2){
        return str.replace(/\*/g, "你看它颤抖着飞越" + data1 + data2) // 你看啊春日的蝴蝶 你看它颤抖着飞越 和风与暖阳倾斜
    })

    //  过滤器可以串联,将filterA的结果传递到filterB中
    Vue.filter('filterB ', function(val){
        // data: 你看啊春日的蝴蝶 你看它颤抖着飞越 和风与暖阳倾斜
        return val.replace(/\#/, "却冰冷的季节")
    })

    var vm = new Vue({
        el: '#app',
        data:{
            message: "你看啊春日的蝴蝶   * # \n "
        }
    })

应用于插值表达式:

<h1>{{ message | filterA(' 和风与暖阳', '倾斜') | filterB  }}</h1>

在这里插入图片描述

关于replace和插值表达式想深入了解的可以看看这篇文章:通过replace看正则表达式


示例完整代码:

<!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="https://cdn.jsdelivr.net/npm/vue/dist/vue.js" type="text/javascript" charset="UTF-8">javascript"></script>
    <style></style>
</head>
<body>
    <div id="app">
        <h1>{{ message | filterA(' 和风与暖阳', '倾斜') | filterB  }}</h1>
    </div>
</body>
<script>javascript">
    // 过滤器是 JavaScript 函数,因此可以接收参数
    // 第一个形参str为待处理元素message,第二个形参data1为replace函数传入的第一个参数,以此类推
    Vue.filter('filterA', function(str, data1,data2){
        return str.replace(/\*/g, "你看它颤抖着飞越" + data1 + data2) // 你看啊春日的蝴蝶 你看它颤抖着飞越 和风与暖阳倾斜
    })

    //  过滤器可以串联,将filterA的结果传递到filterB中
    Vue.filter('filterB ', function(val){
        // data: 你看啊春日的蝴蝶 你看它颤抖着飞越 和风与暖阳倾斜
        return val.replace(/\#/, "却冰冷的季节")
    })

    var vm = new Vue({
        el: '#app',
        data:{
            message: "你看啊春日的蝴蝶   * # \n "
        }
    })
</script>
</html>

http://www.niftyadmin.cn/n/1486195.html

相关文章

struts2运用拦截器时出现NullPointerException

最近在利用struts2拦截器实现文字过滤功能是出现了如下异常&#xff1a; java.lang.NullPointerException dr.interceptor.MyInterceptor.intercept(MyInterceptor.java:19) com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:236) org…

Vuex从入门到实战(一)——Vuex概述及使用vue ui创建项目(配图文!小白也看得懂)

学习地址&#xff1a;https://www.bilibili.com/video/BV1h7411N7bg?p1 一、Vuex概述 Vuex是一个专为Vue.js应用程序开发的状态管理模式&#xff0c;说白了就是为了实现组件之间数据的共享。 对于Vue来说&#xff0c;组件之间共享数据的方式&#xff1a; 父组件向子组件传值…

layui封装自定义模块

转自&#xff1a;https://lianghongbo.cn/blog/430585105a35948c layui是国人开发的一款非常简洁的UI框架&#xff0c;使用了模块化加载方式&#xff0c;因此在使用过程中我们难免需要添加自己的模块&#xff0c;本教程就教大家封装一个简单的模块。 平常使用中&#xff0c;aja…

linux 下安装eclipse无法启动,找不到jdk的解决办法

1.下载 下载eclipse和myeclipse的地址&#xff1a;http://www.verycd.com/topics/147708/ 2.安装 安装eclipse非常简单&#xff0c;用tar -zxvf 命令解压缩出eclipse&#xff0c;然后移动到你想存放的目录下即可。 解压出eclipse后&#xff0c;运行&#xff0c;提示eclipse找不…

什么是VueX以及VueX组成和命令行安装

【一、什么是VueX】 专门为Vue.js为Vue.js应用程序开的状态管理模式 采用集中式储存管理应用的所有组件的状态 以相应的规则保证以一种可预测的方式发生变化 【二、应用场景】 多个视图依赖于同一状态&#xff08;多组件之间状态共享-读&#xff09; 来自不同视图的行为需…

评审人意见汇总

一&#xff0e;对“小学生网页四则运算”这个产品的评价与建议&#xff1a;1、第一阶段的冲刺博客不完整&#xff0c;无任务看板、无燃尽图。希望之后能完善博客内容2、第一阶段的缺陷有数据库未连接&#xff0c;无法设置出题数等3、界面应该美化统一&#xff0c;可以参照一些主…

2nd,Jan 今日学习时间

15:00-17:40 看《GUI Architectures》 19:30-20:30 同上 21:00-22:40 看完《GUI Architectues》&#xff0c;然后看MSDN上的一篇文章 所以今天的学习时间为2小时40分1小时1小时40分 5小时20分 早上干嘛去了&#xff1f;睡觉。。。转载于:https://www.cnblogs.com/CHYGO/archiv…

tcp三次握手及四次挥手

【TCP三次握手】 【四次挥手】 SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结束) RST(reset重置) URG(urgent紧急) Sequence number(顺序号码) Acknowledge number(确认号码)