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.
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.