javascript - 如何在 v-for 循环中仅打印第一个获胜者?

标签 javascript vue.js

我只需在 v-for 循环内打印一名获胜者。但我不知道该怎么做?

<div id="app">
   <div v-for="user in users">
       <div v-if="user.is_winner == 'winner'">
         <p>{{user.name}}</p>
       </div>
   </div>
</div>

应用程序:

new Vue({
    el: '#app',
    data: {
        users: [{
            "name": "Mike",
            "is_winner": "winner"
        }, {
            "name": "Piter",
            "is_winner": "fail"
        }, {
            "name": "Jow",
            "is_winner": "fail"
        }, {
            "name": "John",
            "is_winner": "winner"
        }]
    }
})

我只需要打印一名获胜者。名字并不重要。

https://jsfiddle.net/w3f4u2ag/1/

最佳答案

users 数组内的数据格式不正确。您可以使用以下命令仅打印第一个获胜者:

<div id="app">
  <p> {{users.find(u => u.is_winner == 'winner').name}}</p>
</div>

基本上完全避免了v-for循环。不过,根据您应用的目标和 users 数组的真正含义,您可能需要考虑在数据到达您的 View 之前对其进行过滤 (HTML)

关于javascript - 如何在 v-for 循环中仅打印第一个获胜者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55758925/

相关文章:

javascript - 如何在单个 Django View 中进行两个或多个 AJAX 调用

javascript - Plotly.js 悬停在多个子图中

javascript - 当使用 require.js 并使用 r.js 创建单个文件时,我们仍然可以获得加载时间的好处吗?

vue.js - VueJS CKeditor5上传图片

javascript - 当 observable 更新时,所选选项不会更新,但 optionsValue 会更新

javascript - 如何在 AJAX 调用中存储下拉值?

javascript - vue.js 为什么我的子组件要更新父组件?

vue.js - 如何将变量传递给 vue-router v-link

javascript - 如何注册自定义Vue组件?

javascript - 在新的 vue 项目上运行 npm run serve 时出错