获取Vue评分最多的列表渲染

  |   Vue.js Javascript

今天打算写一个简单的Vue列表渲染,不过想要获取评分最多的内容,用判断大于8.0以上就可以获取内容。暂时不用写Axios请求API接口获取内容,可以在data属性里面增加数据。

HTML文件:

+ <div id="app">
+  <ul>
+    <li v-for="item,index in movies">
+      {{item.title}}
+      {{item.rating.everage}}
+    </li>
+  </ul>
+ </div>
+ <script src="https://cdn.jsdelivr.net/npm/vue"></script>
+ <script src="https://unpkg.com/axios/dist/axios.min.js"></script>

创建一个 Vue 实例

+ var app = new Vue({
+  el: '#app',
+  data: {
+    movies: [
+    {
+        title: '无翼鸟',
+        rating: {
+          max: 10,
+          numRaters: 900,
+          everage: 9.0,
+          min: 0
+        },
+      },
+      {
+        title: '无问西东',
+        rating: {
+          max: 10,
+          numRaters: 714,
+          everage: 7.4,
+          min: 0
+        },
+      },
+      {
+        title: '肖申克的救赎',
+        rating: {
+          max: 10,
+          numRaters: 916,
+          everage: 9.6,
+          min: 0
+        },
+      },
+      {
+        title: '追龙',
+        rating: {
+          max: 10,
+          numRaters: 713,
+          everage: 7.3,
+          min: 0
+        }
+      }
+    ]
+  }
+  
+  
+ })

然后渲染出来的样子:

* 无翼鸟 9
* 无问西东 7.4
* 肖申克的救赎 9.6
* 追龙 7.3

但是这个不是我想要的结果,可以用v-if判断一下获取内容,现在增加一下:

 <div id="app">
    <ul>
-      <li v-for="item,index in movies">
+      <li v-if="item.rating.everage > 8.0" v-for="item,index in movies">
            {{item.title}}
            {{item.rating.everage}}
       </li>
    </ul>
 </div>
 <script src="https://cdn.jsdelivr.net/npm/vue"></script>
 <script src="https://unpkg.com/axios/dist/axios.min.js"></script>

最终效果图:

* 无翼鸟 9
* 肖申克的救赎 9.6