Vue入门-自定义过滤器

不念不忘少年蓝@ 2021-09-15 13:32 494阅读 0赞

过滤器介绍

Vue.js 允许你自定义过滤器,可被用于一些常见的文本格式化。

过滤器可以用在两个地方:双花括号插值和 v-bind 表达式 (后者从 2.1.0+ 开始支持)。

过滤器应该被添加在 JavaScript 表达式的尾部,由“管道”符号指示:

代码参考

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>自定义过滤器</title>
  6. <script src="https://cdn.jsdelivr.net/npm/vue"></script>
  7. </head>
  8. <body>
  9. <div id="app">
  10. <h1>价格: {
  11. {price | currency('¥',2)}}</h1>
  12. <p>{
  13. {str | capital}}</p>
  14. </div>
  15. </body>
  16. </html>
  17. <script>
  18. // 自定义全局过滤器,第二个参数是函数
  19. // 全局过滤器,本过滤器功能:添加货币符号,保留两位小数
  20. Vue.filter('currency', function (val, arg1, arg2) {
  21. // 输出的结果为: |前面的数字
  22. console.log(val, arg1, arg2);
  23. // toFixed()方法可把 Number 四舍五入为指定小数位数的数字。
  24. return arg1 + val.toFixed(arg2);
  25. });
  26. // 注册局部过滤器
  27. new Vue({
  28. el: '#app',
  29. data: {
  30. price: 12.345,
  31. str: 'hello'
  32. },
  33. // 局部过滤器,本过滤器功能:实现字符的首字符大写
  34. filters: {
  35. capital: function (v) {
  36. // 实现效果: 首字母大写
  37. // 具体做法: 字符串下标为0的字符,转化为大写;从下标为1的位置开始截取,截取后面所有的字符;最后,进行拼接.
  38. return v[0].toUpperCase() + v.slice(1);
  39. }
  40. }
  41. });
  42. </script>

效果图

70

发表评论

表情:
评论列表 (有 0 条评论,494人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Vue_定义过滤器

    过滤器:对数据进行筛选和过滤,可被用于一些常见的文本格式化,现使用自定义过滤器对时间进行格式化,使用双花括号插值来调用。 <script src="https://c