欢迎来到代码驿站!

vue

当前位置:首页 > 网页前端 > vue

关于Vue中过滤器的必懂小知识

时间:2022-08-08 08:20:39|栏目:vue|点击:

前言

大家好,今天来分享下Vue中的过滤器小知识

什么是过滤器

Vue.js 允许你自定义过滤器,可被用于一些常见的文本格式化。过滤器可以用在两个地方:双花括号插值和 v-bind 表达式 (后者从 2.1.0+ 开始支持)。

如何使用过滤器

全局过滤器

  1. 本案例是过滤价格中的¥和元
  2. 示例 ¥1999.00元
  3. 定义一个capitalize方法,传入value值
  4. 如果value为空返回空字符串
  5. 否则就叠加字符串"¥" "元" ,这里的toFixed(2)四舍五入为指定小数位数

使用方法

//main.js
Vue.filter("capitalize", function (value) {
  if (!value) return "";
  return "¥" + value.toFixed(2) + "元";
});

在双花括号中使用

<!-- home.vue -->
      <h1>Vue过滤器</h1>
      <p>{{ price | capitalize }}</p>
      {{ 20.6664376486 | capitalize }}

在 v-bind 中使用

      <h1>Vue过滤器</h1>
      <p :id="122 | capitalize"></p>

局部过滤器

这里注意下 当全局过滤器和局部过滤器重名时,会采用局部过滤器。

局部过滤器可以在一个组件的选项中定义本地的过滤器:

export default {
  name: 'index',
  data() {
    return {
      price: 1999
    }
  },
  filters: {
    capitalize: function (value) {
      if (!value) return ''
      return '¥' + value.toFixed(2) + '元'
    }
  }
}

过滤器可以串联

在这个例子中,filterA 被定义为接收单个参数的过滤器函数,表达式 message 的值将作为参数传入到函数中。然后继续调用同样被定义为接收单个参数的过滤器函数 filterB,将 filterA 的结果传递到 filterB 中。

{{ message | filterA | filterB }}

注意:

1、 当有局部和全局两个名称相同的过滤器时候,会以就近原则进行调用,即:局部过滤器优先于全局过滤器被调用!

2、 一个表达式可以使用多个过滤器。过滤器之间需要用管道符“|”隔开。其执行顺序从左往右

总结

上一篇:VUE render函数使用和详解

栏    目:vue

下一篇:vue中点击切换按钮功能之点启用后按钮变为禁用

本文标题:关于Vue中过滤器的必懂小知识

本文地址:http://www.codeinn.net/misctech/210186.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有