v-for с фильтром выдает ошибку свойства или метода, не определенного - PullRequest
0 голосов
/ 20 марта 2019

Я использую Vue2 с Vuex. У меня есть список сообщений от https://jsonplaceholder.typicode.com/posts Я хочу показать это в порядке убывания. для этого я создал фильтр с именем "desc" в main.js и применил его к моему компоненту posts.vue следующим образом.

<li v-for="post in posts | desc" :key="post.id">

это мой main.js

import Vue from 'vue'
import App from './App'
import router from './router'
import { store } from './store/store'

Vue.config.productionTip = false

Vue.filter('desc', function(arr){
  if(arr) return arr.reverse();
});

new Vue({
  el: '#app',
  router,
  store,
  components: { App },
  template: '<App/>'
})

выдает следующую ошибку:

[Vue warn]: свойство или метод "desc" не определен в экземпляре но упоминается во время рендера. Убедитесь, что это свойство реактивный, либо в опции данных, либо для компонентов на основе классов, инициализация свойства. Увидеть: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.

Я думал, что это может вызвать эту ошибку, пока http get запрос не приходит с ответом. Чтобы устранить эту проблему, я также попытался использовать статические данные json, но все еще показывает эту ошибку.

Может ли кто-нибудь помочь мне решить эту проблему?

1 Ответ

2 голосов
/ 20 марта 2019

Попробуйте использовать slice (). Reverse () в v-for.

<li v-for="post in posts.slice().reverse()">
    //do something here
</li>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...