• 24-Vue之过滤器基本用法



    前言

    • 本篇来学习vue(仅适用vue2)中过滤器的基本用法

    过滤器

    • 过滤器(Filters)是vue为开发者提供的功能,常用于文本的格式化。可以用在两个地方:插值表达式和v-bind属性绑定。

    私有过滤器

    插值表达式中使用
    <p>{{message | capital }}p>
    
    • 1
    使用示例
    DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>过滤器基本使用title>
    head>
    <body>
    <div id="app">
        <p>{{message | capital }}p>
    div>
    
    
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js">script>
    
    <script>
        const app = new Vue({
            el: '#app',
            data: {
                message: 'hello 小白!'
            },
            // 定义过滤器一定要在filters中
            filters: {
                // 过滤器形参中的val 是管道符前面的值
                capital(val) {
                    // 字符串 charAt(0)方法,取对应索引值
                    console.log(val.charAt(0))
    
                    // toUpperCase 转大写
                    const first = val.charAt(0).toUpperCase()
                    // slice 指定索引往回截取
                    const other = val.slice(1)
                    // 过滤器一定要有返回值
                    return first + other
                }
            }
        })
    script>
    
    
    body>
    html>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    v-bind属性绑定
    <input type="text" v-bind:placeholder="message|capital">
    
    • 1
    使用示例
    DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>过滤器基本使用title>
    head>
    <body>
    <div id="app">
        <input type="text" v-bind:placeholder="message|capital">
    div>
    
    
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js">script>
    
    <script>
        const app = new Vue({
            el: '#app',
            data: {
                message: 'hello 小白!'
            },
            // 定义过滤器一定要在filters中
            filters: {
                // 过滤器形参中的val 是管道符前面的值
                capital(val) {
                    // 字符串 charAt(0)方法,取对应索引值
                    console.log(val.charAt(0))
    
                    // toUpperCase 转大写
                    const first = val.charAt(0).toUpperCase()
                    // slice 指定索引往回截取
                    const other = val.slice(1)
                    // 过滤器一定要有返回值
                    return first + other
                }
            }
        })
    script>
    
    
    body>
    html>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42

    全局过滤器

    • 使用Vue.filter()定义全局过滤器;接收两个参数 第一个全局过滤名称,第二个 全局过滤器的处理函数
    使用示例
    DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>过滤器基本使用title>
    head>
    <body>
    <div id="app">
        <p>{{message | capital }}p>
    div>
    <div id="app2">
        <input type="text" v-bind:placeholder="message|capital">
    div>
    
    
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js">script>
    
    <script>
        // 使用Vue.filter()定义全局过滤器;接收两个参数 第一个全局过滤名称,第二个 全局过滤器的处理函数
        Vue.filter('capital', function (val) {
            // 字符串 charAt(0)方法,取对应索引值
            console.log(val.charAt(0))
            // toUpperCase 转大写
            const first = val.charAt(0).toUpperCase()
            // slice 指定索引往回截取
            const other = val.slice(1)
            // 过滤器一定要有返回值
            return first + other
        })
        const app = new Vue({
            el: '#app',
            data: {
                message: 'hello 小白!'
            }
        })
        const app2 = new Vue({
            el: '#app2',
            data: {
                message: 'hello 大海!'
            }
        })
    script>
    
    
    body>
    html>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
  • 相关阅读:
    云安全技术发展综述
    MySQL的事务概念
    EXCEL会计记账报表财务软件企业公司做账系统凭证自动生成报表
    飞浆从入门到实战1-环境搭建
    RIP实验
    我不允许你还不知道这本助你斩获高薪offer的神书
    2022最新发布Java八股文+大厂面试真题, 25 个专题技术点,一线大厂面试题
    1.Hadoop集群的配置
    基于51单片机蓝牙智能控制风扇-proteus仿真-源程序
    C++ 内存管理 基本部分
  • 原文地址:https://blog.csdn.net/IT_heima/article/details/128062144