Vue过滤器-filter

Vue中的过滤器主要用于显示内容的筛选,不改变原始数据。过滤器分为全局和组件过滤器,全局过滤器通过`Vue.filter()`定义,适用于所有组件;组件过滤器则定义在组件的`filters`属性上,仅限组件内部使用。过滤器可以接收参数,提供数据格式化和复用逻辑的功能。

Vue中的过滤器不能替代Vue中的methods、computed或者watch,因为过滤器不改变真正的data,而只是改变渲染的结果,并返回过滤后的版本。在很多不同的情况下,过滤器都是有用的,比如尽可能保持API响应的干净,并在前端处理数据的格式。在你希望避免重复和连接的情况下,它们也可以有效地封装成可重用代码块背后的所有逻辑。

过滤器作用:让要显示在页面上的内容进行重新筛选
Vue过滤器分全局过滤器和组件过滤器

全局过滤器

定义

// 第一个参数是需要过滤的数据.
// 第二个参数是给过滤器传递的值.
  Vue.filter('global-filter',(val,...args)=>{
    console.log(`需要过滤的数据是:${val}`)
    return val + ' 过滤器追加的数据'
  })

   var app = new Vue({
       el: '#app',
       data: {
         price:null,
         oldValue: '原始数据'
       })
  <div id='app'>
    <p>{{oldValue | global-filter}}</p>
  </div>

注意,过滤器在插值表达式里使用 lunix 命令行的管道语法.

{{ oldValue | global-filter }}

把 oldValue 的值原封不动的传递给 global-filter.

在 global-filter 方法定义里,第一个参数 val 就是 oldValue。

当然,过滤器本来就是一个方法,方法肯定是可以传参数的.

 Vue.filter('global-filter',(val,...args)=>{[图片上传中...(15445114994941.jpg-9fecae-1544511784154-0)]

    args.forEach(item=>{
      val += ` ${item} - `
    })
    return val + ' 过滤器追加的数据'
  })
 <div id='app'>
    <p>{{oldValue | global-filter(1,2,3,4,5)}}</p>
  </div>

组件过滤器

全局过滤器通过 Vue.filter(‘filtername’,fliterFn) 来定义,它定义好了之后,在所有的组件内都可以使用.

局部过滤器,定义在组件内部 filters 属性上.它只能在此组件内部使用.

具体语法:

 var app = new Vue({
    el: '#app',
    data: {
      price:null,
      oldValue: '原始数据'
    },
    methods: {},
    // 定义组件过滤器
    filters: {
      priceFmt(val,location) {
        switch(location) {
          case 'usa':
            return '$' + val
            break
          default:
          return val
        }
      }

    })

除了使用范围不同,全局过滤器和组件过滤器没有任何其他的区别.

Vue Currency Filter 是一个用于格式化货币的 Vue.js 插件。它可以帮助你在 Vue 应用中轻松地格式化货币金额,并提供一些选项来自定义格式。 你可以使用 Vue Currency Filter 插件来格式化货币金额的显示,例如将金额转换为指定的货币符号、千位分隔符和小数位数等。这可以在处理金融相关的应用或电子商务平台中非常有用。 要使用 Vue Currency Filter 插件,你需要先安装它。可以通过 npm 或 yarn 来安装,具体的安装命令如下: ```bash npm install vue-currency-filter ``` 或者 ```bash yarn add vue-currency-filter ``` 安装完成后,在你的 Vue 应用中引入并使用该插件。你可以在主入口文件(通常是 main.js)中添加以下代码: ```javascript import Vue from 'vue' import VueCurrencyFilter from 'vue-currency-filter' Vue.use(VueCurrencyFilter) ``` 然后,你就可以在组件中使用 `currency` 过滤器来格式化货币金额了。例如,你可以这样使用: ```html <span>{{ amount | currency }}</span> ``` 其中 `amount` 是一个表示金额的变量。 除了默认的格式化选项外,Vue Currency Filter 还允许你传递一些参数来自定义格式。例如,如果你想将金额格式化为美元,并保留两位小数,可以这样使用: ```html <span>{{ amount | currency('USD', 2) }}</span> ``` 这样,`amount` 变量将以美元的货币符号进行显示,并且小数部分将保留两位。 希望这能帮助到你使用 Vue Currency Filter 插件来格式化货币金额。如果你有更多问题,可以继续提问!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值