Vue.js允许用户自定义过滤器,被用作一些常见的文本格式化。由"管道符"指示, 格式如下。
[HTML] 纯文本查看 复制代码
<!-- 在两个大括号中 -->
{{ message | capitalize }}
<!-- 在 v-bind 指令中 -->
<div v-bind:id="rawId | formatId"></div>
另外需要注意的是: 过滤器函数接受表达式的值作为第一个参数。
实例: 对输入的字符串第一个字母转为大写
[HTML] 纯文本查看 复制代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue 测试实例 - 苏飞论坛(sufeinet.com)</title>
<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
</head>
<body>
<div id="app">
{{ message | capitalize }}
</div>
<script>
new Vue({
el: '#app',
data: {
message: 'sufeinet.com'
},
filters: {
capitalize: function (value) {
if (!value) return ''
value = value.toString()
return value.charAt(0).toUpperCase() + value.slice(1)
}
}
})
</script>
</body>
</html>
实例解析:
1. 在js中给message赋值为: sufeinet.com'
2. 通过过滤器, value则为该过滤器对应的参数值, 作为过滤器的参数处理
3. 可以看到过滤器的方法为,将参数的第一个字符toUpperCase, 即变为大写,再加上该参数其它字符