当前位置: 首页 > news >正文

免费做长图网站商城源码价格低 质量好

免费做长图网站,商城源码价格低 质量好,wordpress 编辑 插件下载,好的h5制作网站模板Vue.js 过滤器的详细说明 定义 Vue.js 中的过滤器是一种用于处理文本显示的方式,它可以在模板表达式中使用,通过管道符 | 将数据传递给过滤器进行加工后再渲染到页面上。这种机制允许开发者轻松实现字符串格式化、数值转换等功能。 vue中的过滤器可以…

Vue.js 过滤器的详细说明

定义

Vue.js 中的过滤器是一种用于处理文本显示的方式,它可以在模板表达式中使用,通过管道符 | 将数据传递给过滤器进行加工后再渲染到页面上。这种机制允许开发者轻松实现字符串格式化、数值转换等功能。

vue中的过滤器可以用在两个地方:双花括号插值和 v-bind 表达式,过滤器应该被添加在 JavaScript表达式的尾部,由“管道”符号指示

使用方法

在 Vue.js 的旧版本(2.x 及以下)中,可以通过两种方式定义过滤器:局部过滤器和全局过滤器。以下是具体的定义与调用方法:

  1. 局部过滤器
    局部过滤器仅限于当前组件内部使用,需在组件选项对象中声明 filters 字段。

    export default {filters: {uppercase(value) {if (!value) return '';return value.toString().toUpperCase();}},data() {return {text: 'hello world'};}
    };
    

    调用时可以直接在模板中使用:

    <span>{{ text | uppercase }}</span>
    <!-- 输出结果为 HELLO WORLD -->
    
  2. 全局过滤器
    如果希望在整个应用程序范围内都能使用某个过滤器,则可以将其注册为全局过滤器。

    Vue.filter('capitalize', function (value) {if (!value) return '';return value.charAt(0).toUpperCase() + value.slice(1);
    });
    

    同样地,在任何地方都可以这样调用:

    <span>{{ text | capitalize }}</span>
    <!-- 输出结果为 Hello world -->
    
应用场景

过滤器适用于各种需要对数据显示形式进行简单调整的情况,常见的应用场景包括但不限于以下几个方面:

  • 格式化日期时间戳为可读性强的时间表示;
  • 对货币金额添加单位前缀或保留固定位数的小数点;
  • 文本大小写转换或者截断超出长度的部分;
  • 动态拼接 URL 参数等操作。
原理分析

当我们在模板里书写类似于 {{ message | filterName }} 的语法结构时,实际上触发了一个特殊的编译流程。具体来说就是先获取原始绑定值作为输入参数传送给指定名称下的自定义逻辑函数执行完毕之后再返回最终经过变换后的输出结果呈现出来。整个过程完全透明无缝衔接无需额外关注底层细节即可完成所需效果。

需要注意的是,随着 Vue 3 版本发布以后官方已经废弃掉了对于内置支持 Filters API 的维护工作建议改用 Computed Properties 或者 Methods 来替代原有功能从而获得更加灵活可控的表现力同时也减少了潜在兼容性风险问题的发生几率因此如果正在考虑迁移到最新框架版本的话最好提前做好相应规划准备以便顺利过渡不影响正常业务开展进度安排哦!

示例代码

下面提供几个典型的过滤器示例及其对应的 HTML 模板展示其实际用途所在之处。

  1. 日期格式化

    Vue.filter('dateFormat', function (date, fmt = 'YYYY-MM-DD') {const year = date.getFullYear();const month = String(date.getMonth() + 1).padStart(2, '0');const day = String(date.getDate()).padStart(2, '0');switch (fmt.toUpperCase()) {case 'YYYY/MM/DD':return `${year}/${month}/${day}`;default:return `${year}-${month}-${day}`;}
    });
    
    <span>{{ new Date() | dateFormat('YYYY/MM/DD') }}</span>
    <!-- 输出结果为 当前年份/月份/日 -->
    
  2. 价格格式化

    Vue.filter('priceFormat', function (value, decimalLength = 2, prefix = '$') {if (isNaN(parseFloat(value)) || !isFinite(value)) return '';const formatter = Intl.NumberFormat('en-US', {minimumFractionDigits: Math.max(decimalLength, 0),maximumFractionDigits: Math.max(decimalLength, 0)});return `${prefix}${formatter.format(value)}`;
    });
    
    <span>{{ 987654321.123456 | priceFormat(3, 'USD ') }}</span>
    <!-- 输出结果为 USD 987,654,321.123 -->
    

在这里插入图片描述

http://www.dtcms.com/a/491019.html

相关文章:

  • YOLOv1/v2
  • 算法专题十二:二叉树的深搜
  • 建设旅游信息网站的好处职业学院网站建设
  • 【vue】设置时间格式
  • 泰安网站建设方案为网站做一则广告
  • 23种设计模式——状态模式(State Pattern)
  • 管理系统布局框架中都包含哪些要素?导航、面包屑、tab等
  • 制作企业网站的app如何做网校网站
  • 卷积值提取
  • [Android] Alarm Clock Pro 11.1.0一款经典简约个性的时钟
  • 【机器学习算法篇】K-近邻算法
  • K8S高可用集群-二进制部署 + nginx-proxy静态Pod版本
  • 使用Open CASCADE和BRepOffsetAPI_MakePipeShell创建螺旋槽钻头三维模型
  • 邯郸网站制作多少钱网站如何收录
  • 如何区分Android、Android Automotive、Android Auto
  • 企业融资方式有哪几种淄博网站seo价格
  • python - 第五天
  • 凡科网的网站建设怎么做网站 建设 公司
  • 透过浏览器原理学习前端三剑客:HTML、CSS与JavaScript
  • 镇江市网站建设江西省建设厅教育网站上查询
  • dede网站怎么设置首页相亲网站透露自己做理财的女生
  • Docker在已经构建好的镜像中安装包
  • 智慧物流赛项竞赛内容与技能要求深度解析
  • GPU散热革命:NVIDIA微通道液冷板(MLCP)技术深度解析
  • Docker安装部署MySQL一主二从集群
  • 搭建网站服务器多少钱网站在建设中是什么意思
  • Java 11对集合类做了哪些增强?
  • SQLSugar框架数据库优先
  • 工程建设教育网站北京网站建设cnevo
  • Vector数据库性能大比武:Pinecone、Weaviate、Chroma速度与准确率实测