我已升级到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'”
答案 0 :(得分:60)
在vue.js v-2中删除了orderBy过滤器。
引自vue.js docs
而不是:
<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://vuejs.org/v2/guide/migration.html#Replacing-the-orderBy-Filter
答案 1 :(得分:11)
您也可以使用vue2过滤器包。
1)首先使用npm安装它。
npm install vue2-filters
2)然后,将其添加到您的组件中或全局。
import Vue from 'vue'
import Vue2Filters from 'vue2-filters'
Vue.use(Vue2Filters)
3)之后在模板中使用它
<li v-for="c in orderBy(rooms,'last_iteraction')">
有一个预定义过滤器列表。检查出来。
<强>参考:强>