2016-11-09 4 views
8

に私がv-のためにVue.js 2.0.5とORDERBYにアップグレードしたことができないもうVue.js:ORDERBY V-ため

<li v-for="c in rooms | orderBy 'last_iteraction'"> 

出力

を働いていないようです
  • 無効な式:V-用= "部屋でC | ORDERBY 'last_iteraction'"

誰が解決する方法を知っていますか?

+0

'last_iteraction'または' last_interaction'?この場合は – haim770

+0

'last_iteraction'です。これは 'room'オブジェクトの属性では機能しません。 –

+1

[Docs](https://vuejs.org/v2/guide/migration.html#Replacing-the-orderBy-Filter) –

答えて

25

orderBy vue.js v-2でフィルタが削除されました。計算されたプロパティで

<p v-for="user in users | orderBy 'name'">{{ user.name }}</p>

使用lodashのORDERBY(または多分SORTBY):

<p v-for="user in orderedUsers">{{ user.name }}</p>

代わりのvue.jsドキュメントから引用

computed: { 
    orderedUsers: function() { 
    return _.orderBy(this.users, 'name') 
    } 
} 

参考:またvue2フィルタパッケージを使用することができます

https://vuejs.org/v2/guide/migration.html#Replacing-the-orderBy-Filter

+2

私はv2のorderByに関する情報を探していましたが、このリンクが見つかりませんでした。ありがとう! –

+2

orderBy関数を使用するためにlodashライブラリをロードする必要がありますか? – lewis4u

+1

はい - あなたのプロジェクトにlodashをインストールし、これをコンポーネントに追加することができます: 'import _ from 'lodash'' – kanga

2

1)最初にnpmを使用してインストールします。

npm install vue2-filters 

2)その後、コンポーネントまたはグローバルに追加します。それは、テンプレート

<li v-for="c in orderBy(rooms,'last_iteraction')"> 

でそれを使用した後

import Vue from 'vue' 
import Vue2Filters from 'vue2-filters' 

Vue.use(Vue2Filters) 

3)事前に定義されたfilters.checkそれをのリストがあります。

参考:

https://github.com/freearhey/vue2-filters

関連する問題