vue基础之过滤器

vue中的过滤器分为两种:局部过滤器和全局过滤器

全局过滤器实例
<!DOCTYPE html>
<html lang="en">

<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>Document</title>
  <script src="./lib/vue-2.4.0.js"></script>
</head>

<body>
  <div id="app">
    <p>{{ msg | msgFormat('疯狂+1', '123') | test }}</p>
  </div>

  <script> // 定义一个 Vue 全局的过滤器,名字叫作 msgFormat Vue.filter('msgFormat', function (msg, arg, arg2) { // 字符串的 replace 方法,第一个参数,除了可写一个 字符串以外,还能够定义一个正则 return msg.replace(/单纯/g, arg + arg2) }) Vue.filter('test', function (msg) { return msg + '========' }) // 建立 Vue 实例,获得 ViewModel var vm = new Vue({ el: '#app', data: { msg: '曾经,我也是一个单纯的少年,单纯的我,傻傻的问,谁是世界上最单纯的男人' }, methods: {} }); </script>
</body>

</html>
局部过滤器实例
<!DOCTYPE html>
<html lang="en">

<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>Document</title>
 	<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>

<body>
  <div id="app">
    <p>{{ msg | msgFormat('天才在左', '疯子在右') }}</p>
  </div>

  <script> // 建立 Vue 实例,获得 ViewModel var vm = new Vue({ el: '#app', data: { msg: '我饿了' }, methods: {}, filters:{ //定义私有过滤器 msgFormat(msg,txt1,txt2){ return msg + txt1 + txt2 } } }); </script>
</body>

</html>