文本过滤器Filters

过滤器(Filters)常用于文本的格式化,可以用在两个地方:插值表达式和v-bind属性绑定

注意

  • 要定义在filters节点下,本质是一个函数
  • 在过滤器函数中,一定有return值
<p>{{name | nameFormatter}}</p>
filters: {
    nameFormatter(val) {
        // 对相应的值进行你想要的操作,记得return回去
        console.log(val);
    }
}

参数传递:首个参数一定是 管道符(|) 传递过来的,其他都是自定义的

<p>{{ item.name | nameFormatter(val1, val2, val3, ...) }}</p>

filters: {
    nameFormatters(v1, v2, v3, ...) {
        
    }
}

在filters没有this指向,想要获取data中的数据,需要在beforeCreate()钩子函数中提前将this赋值给固定的值

beforeCreate() {
    _this = this;
    // filters里面就可以直接使用  _this
}

全局过滤器和实例过滤器

全局过滤器,对每一个Vue实例都可以处理:

Vue.filter('过滤器名称', val => {
  // 一顿操作猛如虎
  return '';
})

如果全局过滤器和局部过滤器重名了,则调用局部过滤器(局部近点)

连续过滤器

Vue支持连续过滤器

<p>{{ item.name | nameFormatter1 | nameFormatter1 | ... }}<p>

item.name 在被第一个过滤器清洗后,接着被第二个过滤器清洗,直到最后

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@乐知者@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值