13 - Propiedades computadas

Hemos visto hasta ahora dos propiedades fundamentales que define todo objeto de la clase Vue (data y methods):

   var app=new Vue({
       el: '#aplicacion',
       data:{ 
       },
       methods: {
       },
       computed: {
       }
   })

La tercer propiedad llamada computed nos permite definir propiedades que surgen de procesos sobre otras propiedades. Las propiedades computadas son realmente métodos.

Problema

Permitir el ingreso del nombre y apellido de una persona mediante dos controles de tipo input. Mostrar en un párrafo el nombre y apellido unidos.

<!doctype html>
<html>
<head>
  <title>Prueba Vue</title> 
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
</head>
<body>
  <div id="aplicacion">
    <p>Ingrese su nombre:<input type="text" v-model="nombre"></p>
    <p>Ingrese su apellido:<input type="text" v-model="apellido"></p>
    <p>Nombre completo: {{nombreCompleto}}</p>
  </div>
 
  <script src="https://cdn.jsdelivr.net/npm/vue"></script>
  <script>
   var app=new Vue({
       el: '#aplicacion',
       data: { 
         nombre: '',
         apellido: ''
       },
       computed:{
        nombreCompleto: function () {
           return this.nombre + ' ' + this.apellido;
        }
       }
   })
  </script>
</body>
</html>

La propiedad computada se llama 'nombreCompuesto y se define dentro de computed, su valor resulta de concatenar el nombre, apellido y un espacio en medio:

       computed:{
        nombreCompleto: function () {
           return this.nombre + ' ' + this.apellido;
        }
       }

Si bien se puede definir un método que haga lo mismo Vue trabaja cacheando (almacenando) el valor de la propiedad computada y logrando mayor eficiencia en nuestro código.

Ejecutar Ejemplo

Resolver problema propuesto

Retornar