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>


相关文章
|
1天前
|
数据采集 JavaScript 前端开发
Vue框架的优缺点是什么
【7月更文挑战第5天】 Vue框架:组件化开发利于重用与扩展,响应式数据绑定简化状态管理;学习曲线平缓,生态系统丰富,集成便捷,且具性能优化手段。缺点包括社区规模相对小,类型支持不足(Vue 3.x改善),路由和状态管理需额外配置,SEO支持有限。随着发展,部分缺点正被克服。
7 1
|
1天前
|
JavaScript
Vue卸载eslint的写法,单独安装eslint,单独卸载eslint
Vue卸载eslint的写法,单独安装eslint,单独卸载eslint
|
1天前
|
JavaScript
青戈大佬安装Vue,无Eslint安装版,vue2安装,vue2无eslint,最简单配置Vue安装资料
青戈大佬安装Vue,无Eslint安装版,vue2安装,vue2无eslint,最简单配置Vue安装资料
|
1天前
|
JavaScript
This dependency was not found:* vue/types/umd in ./src/router/index.jsTo install it, you can run
This dependency was not found:* vue/types/umd in ./src/router/index.jsTo install it, you can run
This dependency was not found:* vue/types/umd in ./src/router/index.jsTo install it, you can run
|
1天前
|
JavaScript 前端开发 开发工具
如何学习vue框架
【7月更文挑战第5天】 - 先学HTML/CSS/JS基础和前端工程化工具(npm, webpack, Git)。 - 从Vue官方文档学习基础,包括指令、组件、响应式系统。 - 深入研究Vue Router和Vuex,掌握路由管理和状态管理。 - 学习自定义指令和Mixins,优化性能技巧。 - 实战项目练习,加入Vue社区,阅读相关资源,提升技能。 - 关注Vue生态,持续实践和创新,以适应不断发展的框架。
5 0
|
2月前
|
JavaScript API
【vue实战项目】通用管理系统:api封装、404页
【vue实战项目】通用管理系统:api封装、404页
51 3
|
2月前
|
人工智能 JavaScript 前端开发
毕设项目-基于Springboot和Vue实现蛋糕商城系统(三)
毕设项目-基于Springboot和Vue实现蛋糕商城系统
|
2月前
|
JavaScript Java 关系型数据库
毕设项目-基于Springboot和Vue实现蛋糕商城系统(一)
毕设项目-基于Springboot和Vue实现蛋糕商城系统
113 0
|
2月前
|
JavaScript 前端开发 API
Vue3+Vite+TypeScript常用项目模块详解
现在无论gitee还是github,越来越多的前端开源项目采用Vue3+Vite+TypeScript+Pinia+Elementplus+axios+Sass(css预编译语言等),其中还有各种项目配置比如eslint 校验代码工具配置等等,而我们想要进行前端项目的二次开发,就必须了解会使用这些东西,所以作者写了这篇文章进行简单的介绍。
Vue3+Vite+TypeScript常用项目模块详解
|
2月前
|
设计模式 JavaScript
探索 Vue Mixin 的世界:如何轻松复用代码并提高项目性能(上)
探索 Vue Mixin 的世界:如何轻松复用代码并提高项目性能(上)
探索 Vue Mixin 的世界:如何轻松复用代码并提高项目性能(上)