02.全局过滤器.html 1.5 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
<!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>
    <!-- 希望 Vue 能够控制下面的这个 div,帮我们在把数据填充到 div 内部 -->
    <div id="app">
      <p>count 的值是:{{ count }}</p>
      <!-- 如果 count 是偶数,则 按钮背景变成红色,否则,取消背景颜色 -->
      <!-- <button @click="add">+N</button> -->
      <!-- vue 提供了内置变量,名字叫做 $event,它就是原生 DOM 的事件对象 e -->
      <button @click="add($event, 1)">+N</button>
    </div>
    <script src="./lib/vue-2.6.12.js"></script>
    <script>
      const vm = new Vue({
        el: "#app",
        data: {
          message: "hello vue.js",
          info: "title info",
        },
        //在filters 节点下定义"过滤器"
        filter: {
          capitalize(str) {
            //把首字母转为大写的过滤器
            return str.charAt(0).toUpperCase() + str.slice(1);
          },
        },
      });
      //全局过滤器-独立于每个vm实例之外
      //Vue.filter()方法接收两个参数:
      //第1个参数,是全局过滤器的"名字“
      //第2个参数,是全局过滤器的"处理函数“
      Vue.filter("capitalize", (str) => {
        return str.charAt(0).toUpperCase() + str.slice(1) + "~~";
      });
    </script>
  </body>
</html>