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.