[英]Vue.js: can't orderBy in v-for
我已经升级到 Vue.js 2.0.5 并且 v-for 中的 orderBy 似乎不再工作了
<li v-for="c in rooms | orderBy 'last_iteraction'">
输出
- 无效表达式:v-for="c in rooms | orderBy 'last_iteraction'"
有谁知道如何解决?
orderBy 过滤器在 vue.js v-2 中被移除。
引用自 vue.js 文档
代替:
<p v-for="user in users | orderBy 'name'">{{ user.name }}</p>
在计算属性中使用 lodash 的 orderBy(或者可能是 sortBy):
<p v-for="user in orderedUsers">{{ user.name }}</p>
computed: { orderedUsers: function () { return _.orderBy(this.users, 'name') } }
参考:
https://v2.vuejs.org/v2/guide/migration.html#Replacing-the-orderBy-Filter
您还可以使用 vue2 过滤器包。
npm install vue2-filters
import Vue from 'vue' import Vue2Filters from 'vue2-filters' Vue.use(Vue2Filters)
import Vue2Filters from 'vue2-filters' export default { ... mixins: [Vue2Filters.mixin], ... }
<li v-for="c in orderBy(rooms,'last_iteraction')">
有一个预定义过滤器列表。检查一下。
参考:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.