• 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
  • 相关阅读:
    jquery || js 实现阴影背景弹窗
    MYSQL一站式学习,看完即学完
    jQuery 常用函数解析
    CodeForces - 245B Internet Address
    Northstar 量化平台
    mysql反斜杠多次转义简述
    ORACLE AutoVue 服务器/桌面版/WebService/SDK安装
    Easyui常用语法 Combobox
    10-DOM节点操作
    Android Jetpack应用指南学习笔记11使用safe args方式安全传递参数
  • 原文地址:https://blog.csdn.net/IT_heima/article/details/128062144