¿Cómo hacer un bucle en vue.js a través de una lista filtrada con un parámetro de entrada dado?
por favor tenga en cuenta que el filtrado como <li v-for="x in todos_filtered" v-if="x.person == 'Mike'"> debe evitarse con muchos registros.
Aquí el código que devuelve una lista vacía en lugar de 2 elementos.
<html> <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script> <body> <div id="app"> <ul> <li v-for="x in todos_filtered('Mike')"> {{ x.text }} </li> </ul> </div> <script> myObject = new Vue({ el: '#app', data: { todos: [ { person: 'Mike', text: 'Learn JavaScript' }, { person: 'Luke', text: 'Learn Vue.js' }, { person: 'Mike', text: 'Build Something Awesome' } ] }, computed: { todos_filtered(person) { return this.todos.filter((x) => x.person === person); } }, }) </script> </body> </html>La propiedad calculada debe devolver una función que tome a la person como parámetro:
computed: { todos_filtered() { return (person)=> this.todos.filter((x) => x.person === person); } },