【Vue2 ✨】 Vue2 入门之旅(六):指令与过滤器

前一篇我们学习了组件化开发。本篇将介绍 指令与过滤器,这是 Vue 模板语法的重要扩展,让页面渲染更加灵活。


目录

  1. 常见内置指令
  2. 自定义指令
  3. 过滤器
  4. 小结

常见内置指令

Vue 提供了丰富的内置指令,常见的有:

<div id="app"><p v-text="msg"></p><p v-html="htmlContent"></p><p v-show="isVisible">这是一段文字</p>
</div><script>
new Vue({el: '#app',data: {msg: 'Hello Vue!',htmlContent: '<strong>加粗的文字</strong>',isVisible: true}
})
</script>

在这里插入图片描述

  • v-text:设置元素的文本内容
  • v-html:渲染 HTML(⚠️注意防止 XSS 攻击)
  • v-show:通过 display 控制显示/隐藏
  • v-if / v-else / v-else-if:条件渲染
  • v-for:列表渲染
  • v-on:事件绑定
  • v-bind:属性绑定

自定义指令

除了内置指令,还可以自定义指令,用于 DOM 操作。

全局自定义指令

<div id="app"><input v-focus>
</div><script>
Vue.directive('focus', {inserted: function (el) {el.focus()}
})new Vue({el: '#app'
})
</script>

这里定义了一个 v-focus 指令,让输入框自动获取焦点。

Vue.directive() 用于注册全局自定义指令
第一个参数 ‘focus’ 是指令名称; 第二个参数是一个配置对象,包含指令的钩子函数。

inserted 钩子函数
当指令绑定的元素被插入到 DOM 中时触发(此时元素已存在于页面中),参数 el 是指令所绑定的 DOM 元素


局部自定义指令

<div id="app"><p v-color="'red'">这是一段红色文字</p>
</div><script>
new Vue({el: '#app',directives: {color: function (el, binding) {el.style.color = binding.value}}
})
</script>

这里的 v-color="'red'" 会让文字变成红色。


过滤器

过滤器可以对文本进行格式化处理,常见场景是日期、货币格式化。

全局过滤器

<div id="app"><p>{{ price | currency }}</p>
</div><script>
Vue.filter('currency', function (value) {return '¥' + value.toFixed(2)
})new Vue({el: '#app',data: {price: 88.5}
})
</script>

输出:

¥88.50

局部过滤器

<div id="app"><p>{{ message | upper }}</p>
</div><script>
new Vue({el: '#app',data: {message: 'hello vue'},filters: {upper: function (value) {return value.toUpperCase()}}
})
</script>

输出:

HELLO VUE

小结

  1. Vue 内置指令丰富,如 v-textv-htmlv-show 等。
  2. 可以通过 自定义指令 来封装 DOM 操作。
  3. 过滤器适合做文本格式化,支持全局和局部定义。

📚下一篇文章,我们将学习 事件处理,掌握 v-on、事件修饰符和键盘事件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/95501.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/95501.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【随笔】【Debian】【ArchLinux】基于Debian和ArchLinux的ISO镜像和虚拟机VM的系统镜像获取安装

一、Debian Debian -- Debian 全球镜像站 阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 debian-cd-current-amd64-iso-cd安装包下载_开源镜像站-阿里云 清华源&#xff1a; 清华大学开源软件镜像站 | Tsinghua Open Source Mirror USTC Open Source Software Mirror 二、…

如何用 Kotlin 在 Android 手机开发一个文字游戏,并加入付费机制?

Kotlin 开发 Android 文字游戏基础框架使用 Android Studio 创建项目&#xff0c;选择 Kotlin 作为主要语言。基础游戏逻辑可通过状态机和文本解析实现&#xff1a;class GameEngine {private var currentScene: Scene loadStartingScene()fun processCommand(input: String):…

安卓开发---BaseAdapter(定制ListView的界面)

概念&#xff1a;BaseAdapter 是 Android 中最基础的适配器类&#xff0c;它是所有其他适配器&#xff08;如 ArrayAdapter、SimpleAdapter&#xff09;的父类。方法签名&#xff1a;public abstract class BaseAdapter implements ListAdapter, SpinnerAdapter { // 获取数据…

Conda配置完全指南:Windows系统Anaconda/Miniconda的安装、配置、基础使用、清理缓存空间和Pycharm/VSCode配置指南

本文同步发布在个人博客&#xff1a; Conda配置完全指南Conda 是一个开源的跨平台包管理与环境管理工具&#xff0c;广泛应用于数据科学、机器学习及 Python 开发领域。它不仅能帮助用户快速安装、更新和卸载第三方库&#xff0c;还能创建相互隔离的虚拟环境&#xff0c;解决不…

什么是账号矩阵?如何避免账号IP关联风险

账号矩阵是指在同一平台或多个平台上&#xff0c;围绕同一品牌、业务或个人 IP 构建的多个相互关联、协同运作的账号体系。这些账号通过差异化的内容定位和运营策略形成互补&#xff0c;共同实现流量聚合、品牌曝光或业务拓展的目标。协同效应&#xff1a;账号间通过内容互推、…

解析ELK(filebeat+logstash+elasticsearch+kibana)日志系统原理以及k8s集群日志采集过程

ELK日志系统解析 ELK 日志系统&#xff08;现常称为 Elastic Stack&#xff0c;由 Filebeat、Logstash、Elasticsearch、Kibana 组成&#xff09;是一套用于 日志收集、清洗、存储、检索和可视化 的开源解决方案。 它的核心价值是将分散在多台服务器 / 应用中的日志 “汇聚成池…

python 内置函数 sort() 复杂度分析笔记

在做 280. 摆动排序 时&#xff0c;有一版 python 题解&#xff0c;里面直接用了sort() &#xff0c;又用了一个简单的 for 循环&#xff0c;但整体时间复杂度为 O(n⋅log(n)) &#xff0c;那么问题就出自这个 sort() &#xff0c;所以在这分析一下 sort() 的复杂度。Python 的…

【光照】Unity中的[经验模型]

【从UnityURP开始探索游戏渲染】专栏-直达 图形学第一定律&#xff1a;“看起来对就对” URP光照模型发展史 ‌2018年‌&#xff1a;URP首次发布&#xff08;原LWRP&#xff09;&#xff0c;继承传统前向渲染的Blinn-Phong简化版‌2019年‌&#xff1a;URP 7.x引入Basic Shade…

uniapp小程序使用自定义底部tabbar,并根据用户类型动态切换tabbar数据

1.注意点 在pages.json中配置tabbar如下字段&#xff1a;custom&#xff1a;true &#xff0c;会自动隐藏原生tabbar&#xff0c;使用自定义的tabbar2.如何自定义呢 可以使用第三方组件库的tabbar组件&#xff0c;然后二次封装下内部封装逻辑&#xff1a; 1.点击切换逻辑 2.根据…

Redis 哨兵 (基于 Docker)

目录 1. 基本概念 2. 安装部署 (基于 Docker) 2.1 使用 docker 获取 redis 镜像 2.2 编排 主从节点 2.3 编排 redis-sentinel 节点 3. 重新选举 4. 选举原理 5. 总结 1. 基本概念 名词 逻辑结构物理结构主节点Reids 主服务一个独立的 redis-server 进程从节点Redis 从…

Python学习-day4

Python 语言的运算符: 算术运算符比较&#xff08;关系&#xff09;运算符赋值运算符逻辑运算符位运算符成员运算符身份运算符运算符优先级 算术运算符 定义变量a 21&#xff0c;变量b 10。运算符描述实例加 - 两个对象相加a b 输出结果 31-减 - 得到负数或是一个数减去另一…

Vite 插件 @vitejs/plugin-legacy 深度解析:旧浏览器兼容指南

&#x1f4d6; 简介 vitejs/plugin-legacy 是 Vite 官方提供的兼容性插件&#xff0c;专门用于为现代浏览器构建的应用程序提供对旧版浏览器的支持。该插件通过自动生成兼容性代码和 polyfill&#xff0c;确保您的应用能够在 IE 11 等旧版浏览器中正常运行。 核心价值 向后兼…

数据质检之springboot通过yarn调用spark作业实现数据质量检测

Spring Boot 应用中通过 YARN 来调用 Spark 作业的来执行数据质检。这是一个非常经典的数据质量检测、数据优化的常用架构,将Web服务/业务处理(Spring Boot)与大数据质检(Spark on YARN)解耦。 核心架构图 首先,通过一张图来理解整个流程的架构: 整个流程的核心在于,…

SQL优化_以MySQL为例

MySQL SQL 优化详细教程与案例 1. 理解SQL执行过程 在优化之前&#xff0c;需要了解MySQL如何处理SQL查询&#xff1a; 客户端发送SQL语句到服务器服务器检查查询缓存&#xff08;MySQL 8.0已移除查询缓存&#xff09;解析器解析SQL&#xff0c;生成解析树预处理器验证权限和表…

探索数据结构中的 “树”:揭开层次关系的奥秘

在计算机科学的广袤森林中&#xff0c;有一种数据结构如同参天大树般支撑着无数应用的根基 —— 它就是 “树”&#xff08;Tree&#xff09;。它不仅仅是一个抽象概念&#xff0c;更是我们理解和组织信息、模拟现实世界层级关系的强大工具。1. 什么是 “树”&#xff1f;从家族…

技术框架之RPC

一、序言&#xff1a;为什么我们需要RPC&#xff1f;在单体应用时代&#xff0c;函数调用是进程内的简单操作。但随着业务规模扩大&#xff0c;系统被拆分为多个独立服务&#xff08;如订单服务、支付服务&#xff09;&#xff0c;服务间通信成为刚需。早期开发者常使用HTTPJSO…

【光照】Unity中的[光照模型]概念辨析

【从UnityURP开始探索游戏渲染】专栏-直达 基础光照模型‌ ‌标准光照模型&#xff08;Standard Lighting Model&#xff09;‌ ‌定义‌&#xff1a;传统光照计算的框架&#xff0c;通常包含漫反射、镜面反射和环境光三部分。‌特点‌&#xff1a;非物理经验模型&#xff0c…

MCU上跑AI—实时目标检测算法探索

MCU上跑实时目标检测算法 前几年一直忙着别的事情没有在技术分享上下功夫, 这段时间稳定下来就想和几个志同道合的朋友做点有意义的事情, 于是乎就使用MCU做了个与AI有识别相关的 “小玩意儿”. 本人负责嵌入式端相关的编码, AI相关的工作由好友 AgeWang 负责. 这儿把一些成果给…

SpringBoot 整合 RabbitMQ 的完美实践

引言: 本文总字数:约 9200 字 预计阅读时间:38 分钟 为什么 RabbitMQ 是消息中间件的优选? 在分布式系统架构中,消息中间件扮演着 "交通枢纽" 的角色,负责协调各个服务之间的通信。目前主流的消息中间件有 RabbitMQ、Kafka 和 RocketMQ,它们各具特色: Kafka…

nestjs 发起请求 axios

1、下载npm i --save nestjs/axios axios2、全局配置import { HttpModule } from nestjs/axios;Global() Module({imports: [HttpModule.registerAsync({inject: [ConfigService],useFactory: async (configService: ConfigService) > {return {timeout: configService.get(…