1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf-8">
5 <title>Vue-Computed计算属性</title>
6 <script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.12/vue.js"></script>
7 <script src="https://cdn.bootcdn.net/ajax/libs/element-ui/2.8.0/index.js"></script>
8 <link href="https://cdn.bootcdn.net/ajax/libs/element-ui/2.8.0/theme-chalk/index.css" rel="stylesheet">
9 </head>
10 <body>
11 <div id="app">
12 <!-- v-for中的可以使用计算属性来过滤数据 -->
13 <ul>
14 <li v-for="n in evenNumbers">{{ n }}</li>
15 </ul>
16
17 <!-- 双层v-for不可以用计算属性,但是可以用一个方法来过滤 -->
18 <ul v-for="set in sets">
19 <li v-for="n in even(set)">{{ n }}</li>
20 </ul>
21 </div>
22 <script>
23 var vm = new Vue({
24 el: '#app',
25 data: {
26 numbers: [ 1, 2, 3, 4, 5 ],
27 sets: [[ 1, 2, 3, 4, 5 ], [6, 7, 8, 9, 10]]
28 },
29 computed:{
30 evenNumbers(){
31 return this.numbers.filter((number) => {
32 return number % 2 === 0
33 })
34 }
35 },
36 methods:{
37 even(arr_num){
38 return arr_num.filter(function (number) {
39 return number % 2 === 0
40 })
41 }
42 }
43 })
44 </script>
45 </body>
46 </html>