24-Vue之过滤器基本用法

简介: 24-Vue之过滤器基本用法

前言

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

过滤器

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

私有过滤器

插值表达式中使用

<p>{{message | capital }}</p>
使用示例
<!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>

v-bind属性绑定

<input type="text" v-bind:placeholder="message|capital">
使用示例
<!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>

全局过滤器

  • 使用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>


相关文章
|
22天前
|
JavaScript API 开发者
Vue是如何进行组件化的
Vue是如何进行组件化的
|
22天前
|
JavaScript 前端开发 开发者
Vue是如何劫持响应式对象的
Vue是如何劫持响应式对象的
21 1
|
22天前
|
JavaScript 前端开发 API
介绍一下Vue中的响应式原理
介绍一下Vue中的响应式原理
27 1
|
22天前
|
JavaScript 前端开发 开发者
Vue是如何进行组件化的
Vue是如何进行组件化的
|
22天前
|
存储 JavaScript 前端开发
介绍一下Vue的核心功能
介绍一下Vue的核心功能
|
JavaScript 前端开发
重读vue电商网站41之自定义格式化时间的全局过滤器
重读vue电商网站41之自定义格式化时间的全局过滤器
115 0
重读vue电商网站41之自定义格式化时间的全局过滤器
|
前端开发 JavaScript
Vue自定义过滤器
在进行前端开发时,我们难免需要进行一些数据的特定处理,因此我们只需在main.js中定义过滤器,即可多次使用。
|
JSON JavaScript 数据格式
|
23天前
|
JavaScript 前端开发 开发者
vue 数据驱动视图
总之,Vue 数据驱动视图是一种先进的理念和技术,它为前端开发带来了巨大的便利和优势。通过理解和应用这一特性,开发者能够构建出更加动态、高效、用户体验良好的前端应用。在不断发展的前端领域中,数据驱动视图将继续发挥重要作用,推动着应用界面的不断创新和进化。
|
25天前
|
JavaScript 前端开发 开发者
vue学习第一章
欢迎来到我的博客!我是瑞雨溪,一名热爱前端的大一学生,专注于JavaScript与Vue,正向全栈进发。博客分享Vue学习心得、命令式与声明式编程对比、列表展示及计数器案例等。关注我,持续更新中!🎉🎉🎉
30 1
vue学习第一章