<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <div id="app"> <p>message 的值是:{{ message | capi }}</p> </div> <div id="app2"> <p>message 的值是:{{ message | capi }}</p> </div> <script src="./lib/vue-2.6.12.js"></script> <script> // 使用 Vue.filter() 定义全局过滤器 Vue.filter('capi', function (str) { const first = str.charAt(0).toUpperCase() const other = str.slice(1) return first + other + '~~~' }) const vm = new Vue({ el: '#app', data: { message: 'hello vue.js' }, // 过滤器函数,必须被定义到 filters 节点之下 // 过滤器本质上是函数 filters: { // 注意:过滤器函数形参中的 val,永远都是“管道符”前面的那个值 capi(val) { // 字符串有 charAt 方法,这个方法接收索引值,表示从字符串中把索引对应的字符,获取出来 // val.charAt(0) const first = val.charAt(0).toUpperCase() // 字符串的 slice 方法,可以截取字符串,从指定索引往后截取 const other = val.slice(1) // 强调:过滤器中,一定要有一个返回值 return first + other } } }) // ---------------------------------- const vm2 = new Vue({ el: '#app2', data: { message: 'heima' } }) </script> </body> </html>