vue过滤器
1.概念
Vue.js 允许你自定义过滤器,可被用作一些常见的文本格式化。过滤器可以用在两个地方:mustache插值和v-bind表达式。过滤器应该被添加在JavaScript表达式的尾部,由“管道”符指示。
2.使用语法
{{变量 | 过滤器名}}
{{变量 | 过滤器 | 另一个过滤器}} 可以同时使用多个过滤器,后面过滤器的data就是前面表达式传过来的值
3.定义语法
(1)全局定义
举例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title></title>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
</head>
<body>
<div id='app'>
{{msg | changeWord1 | changeWord2}}
</div>
<script>
Vue.filter("changeWord1", function (data, format) {
return data.replace("厉害", "👍👍");
})
Vue.filter("changeWord2", function (data, format) {
return data.replace("你", "😀");
})
const vm = new Vue({
el: '#app',
data: {
msg: "你真厉害啊!"
},
methods: {
},
})
</script>
</body>
</html>
结果:
(2)私有定义
filters这个是实例化Vue的一个参数,和data,methods平级的,里面放的就是我们这个实例的私有过滤器。
例:
const vm = new Vue({
el: '#app',
data: {
msg: "你真厉害啊!"
},
methods: {
},
filters:{
changeWord3(data,format) {
return data.replace("厉害","**");
}
}
})
如果在其他地方用该过滤器,则会报错


浙公网安备 33010602011771号