javascript - 对象上的 Vuejs v-for 不应按索引排序
问题描述
我正在 Vuejs 中迈出第一步。我有一个对象成员,按成员名称排序。但是当我做一个 v-for 时,它是按对象索引排序的。
如何禁用该行为或按 member.name 再次执行我的订单?
var app = new Vue({
el: '#app',
data: {
message: 'Hello Vue!',
members: {
'3432':{'name':'Andreas', "age":39},
'234':{'name':'Frank', "age":21},
'333':{'name':'Dieter', "age":2},
'8644':{'name':'Klaus', "age":66}
}
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
<h1>{{ message }}</h1>
<ul v-for="(member) in members" v-bind:key="member.name">
<li> {{ member.name }} {{ member.age }}</li>
</ul>
</div>
解决方案
循环对象是个坏主意。改用数组
var app = new Vue({
el: '#app',
data: {
message: 'Hello Vue!',
members: [
{'name':'Andreas', "age":39},
{'name':'Frank', "age":21},
{'name':'Dieter', "age":2},
{'name':'Klaus', "age":66}]
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
<h1>{{ message }}</h1>
<ul v-for="member in members" v-bind:key="member.name">
<li> {{ member.name }} {{ member.age }}</li>
</ul>
</div>
推荐阅读
- r - 如何删除“||” 在字符串中作为 str_replace_all 函数不可用?
- c# - 创建单元测试以检查是否有任何类使用来自特定类/命名空间的任何方法
- javascript - 如何修复 node.js 网站中的 nodemailer“对象对象”错误?
- mysql - 为什么 CASE WHEN 在这个查询中倒退?
- c# - IdentityServer on Azure
- react-native - 我可以在 React Native 未弹出的 Expo 项目中使用 Geolocation 吗?
- java - 加载管理游戏存档的最佳实践?
- git - Git:删除 .gitignore 文件似乎没有任何影响
- php - 如何应用 mysqli_free_result()?
- ios - UITableViewFooter 高度问题