<!-- archivo index.html -->

<!DOCTYPE html>
<html lang="es">
  <head><title>index.html</title></head>
  <body>
    <div id="app">
      <input v-model="buscar"/>
      <ul>
        <li v-for="item in buscarPersona">
          {{ item.nombre }} {{ item.apellido }} - {{ item.edad }} años
        </li>
      </ul>
    </div>
    <!-- carga de la librería Vue.js -->
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    <script>
      let vm = new Vue({
        el: "#app",
        data: {
          personas: [
            { nombre: 'Chuck', apellido: 'Norris', edad: 24 },
            { nombre: 'Bruce', apellido: 'Lee', edad: 27 },
            { nombre: 'Uma', apellido: 'Thurman', edad: 22 },
          ],
          buscar: '',
        },
        computed: {
          buscarPersona() {
            if (this.buscar === '') return this.personas;

            return this.personas
              .filter(persona => {
                return persona.nombre.toLowerCase().match(this.buscar.toLowerCase()) !== null || 
                  persona.apellido.toLowerCase().match(this.buscar.toLowerCase) !== null;
              })
          }
        },
        methods: {
          envejecer() {
            this.personas.forEach((persona, index) => {
              persona.edad += 5;
              this.$set(this.personas, index, persona);
            });
          }
        },
      });
    </script>
  </body>
</html>
