当前位置: 代码迷 >> 综合 >> Vue(三)——过滤器
  详细解决方案

Vue(三)——过滤器

热度:110   发布时间:2023-10-01 00:31:21.0

一、注册过滤器

vue提供过滤器,但是没有内置过滤器。angular有内置很多过滤器。自定义函数也能做到和过滤器同样的功能。

过滤器是一个使用在 双大括号插值v-bind 中,用于过滤输出内容的函数

假设有一个用于把内容转为大写的过滤器函数 toUpperCase

{
   {content|toUpperCase}}
  • | : 管道符,表示数据从左至右通过管道符进行传递
  • 过滤器可以有多个,执行顺序从左至右,过滤器函数第一个参数的值就是其管道符前一个的结果

1.1全局过滤器

Vue.filter('过滤器名称', 过滤器函数);

1.2局部过滤器

Vue.component('组件', {...,filters: {'过滤器名称': 过滤器函数	}
})

二、实例

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>过滤器</title>
</head><body><div id="app"><!-- 局部过滤器只能在局部定义 -->{
   {title|toUpperCase|substr(1,5)|slice(2)}}</div><script src="./js/vue.js"></script><script>// 全局过滤器Vue.filter('toUpperCase',val=>{// 注意需要returnreturn val.toUpperCase();});// 如果过滤器传入了参数substr(1,5),则接收时,第一个值默认原字符串val ,其他参数依次排列Vue.filter('substr',(val,start,end)=>{// 注意需要returnreturn val.substring(start,end);});let app = new Vue({el: "#app",data: {title:'hello word!!!'},// 局部过滤器filters: {slice(val, n) {return val.slice(n);}}});</script>
</body></html>

 

  相关解决方案