【溯源篇】从头看vue(七)——过滤器基础

news/2024/7/10 2:00:51 标签: 过滤器, vue, filter, js

官方文档:https://cn.vuejs.org/v2/guide/filters.html#ad

过滤器

自定义过滤器,可被用于一些常见的文本格式化。注意全局定义过滤器要在创建 Vue 实例之前。

	Vue.filter('capital', function(val){
        value = val.toString()
        return value.charAt(0).toUpperCase() + value.slice(1) // 首字母大写处理
    })
	var vm = new Vue({
        el: '#app',
        data:{
            message: "jessica"
        }
    })

或者在任意一个组件的选项中定义本地的过滤器

filters: {
  capitalize: function (value) {
    if (!value) return ''
    value = value.toString()
    return value.charAt(0).toUpperCase() + value.slice(1)
  }
}

过滤器可以用在两个地方:双花括号插值和 v-bind 表达式。

<!-- 在双花括号中 -->
{{ message | capital }}

<!-- 在 `v-bind` 中 -->
<div v-bind:id="rawId | formatId"></div>

注意点:

{{ message | filterA | filterB }}

理解:表达式 message 的值将作为参数传入到函数中,然后继续调用同样被定义为接收单个参数的过滤器函数 filterB,将 filterA 的结果传递到 filterB 中。

  • 过滤器是 JavaScript 函数,因此可以接收参数:
{{ message | filterA('arg1', arg2) }}

这里,filterA 被定义为接收三个参数的过滤器函数。其中 message 的值作为第一个参数,普通字符串 ‘arg1’ 作为第二个参数,表达式 arg2 的值作为第三个参数。

示例见下一篇文章:过滤器串联及带参

附完整代码:

<!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>
    <style type="text/css">
        .bgcolor{
            background: #b3b36d;
            padding: 20px;
        }
    </style>
    <!-- 引入vue -->
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js" type="text/javascript" charset="UTF-8"></script>
</head>
<body>
    <div class="bgcolor" id="app">
        <input type="text" v-model="message">
        <h1>{{ message | capital}}</h1>
    </div>
</body>
<script type="text/javascript">
	Vue.filter('capital', function(val){
        value = val.toString()
        return value.charAt(0).toUpperCase() + value.slice(1)
    })

    var vm = new Vue({
        el: '#app',
        data:{
            message: "jessica"
        }
    })    
</script>
</html>

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

相关文章

深度工作:充分使用每一份脑力

</div><!--end: blogTitle 博客的标题和副标题 --> <div class"postBody"> <div id"cnblogs_post_body" class"blogpost-body cnblogs-markdown"><p>浮躁已经成了普遍的社会现象。判断一个人是否浮躁非常容…

VSCode生成HTML格式快捷方式

方法一&#xff1a;英文状态输入&#xff01;&#xff0c;然后按回车; 方法二&#xff1a; 输入html&#xff0c;在出来的提示中选择html:5;

Ubuntu安装UFW防火墙

sudo apt-get install ufw 一般用户&#xff0c;只需如下设置&#xff1a;sudo apt-get install ufw sudo ufw enable sudo ufw default deny 以上三条命令已经足够安全了&#xff0c;如果你需要开放某些服务&#xff0c;再使用sudo ufw allow开启。 启用 sudo ufw enable su…

【js 】通过replace看正则表达式

1. 正则表达式常用标识符 var str " welcom to Microsoft. We are proud to join that Microsoft to learn javascript. lets go on"标识符含义示例无只匹配第一个str.replace(/Microsoft/, “W3School”)/gglobal&#xff0c;全局查找&#xff0c;全局替换str.rep…

脚本 用户密码修改

一、有关用户密码的修改管理&#xff1a; 1 #!/bin/bash 2 # Description: 3 # Date: 2010-12-25 10:04:00 4 # Auth: 5 # 6 7 [ ! $USERroot ] && echo "Only root can execute " && exit 1 8 9 FILE/etc/shadow 10 let TODAY$[…

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

上篇说到&#xff1a;过滤器可以串联 及接收参数 过滤器串联及带参示例 // 过滤器是 JavaScript 函数&#xff0c;因此可以接收参数// 第一个形参str为待处理元素message,第二个形参data1为replace函数传入的第一个参数&#xff0c;以此类推Vue.filter(filterA, function(str, …

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; 父组件向子组件传值…