Olá professor e equipe alura, primeiramente, obrigado pelas aulas, me ajudam bastante. Minha dúvida é saber sobre o por que não está funcionando o @dblclick, pois tento de várias formas, porém, sem sucesso, por favor, analisem meu código a seguir e se possível, entrem com um feedback. Desde já agradeço:
<template>
<div class="corpo">
<h1 class="centralizado">{{ titulo }}</h1>
<input type="search" class="filtro" v-on:input="filtro = $event.target.value" placeholder="filtre pelo título da foto">
<ul class="lista-fotos">
<li class="lista-fotos-item" v-for="foto of fotosComFiltro" :key="foto.id">
<meu-painel :titulo="foto.titulo">
<img class="imagem-responsiva" :src="foto.url" :alt="foto.titulo">
</meu-painel>
</li>
</ul>
</div>
</template>
<script>
import Painel from './components/shared/painel/Painel.vue'
export default {
components: {
'meu-painel': Painel
},
data () {
return {
titulo: 'Alurapic',
fotos: [],
filtro: ''
}
},
computed: {
fotosComFiltro() {
if (this.filtro) {
let exp = new RegExp(this.filtro.trim(), 'i');
return this.fotos.filter(foto => exp.test(foto.titulo));
} else {
return this.fotos;
}
}
},
created() {
this.$http
.get('http://localhost:3000/v1/fotos')
.then(res => res.json())
.then(fotos => this.fotos = fotos, err => console.log(err));
}
}
</script>
<style>
.centralizado {
text-align: center;
}
.corpo {
font-family: Helvetica, sans-serif;
margin: 0 auto;
width: 96%;
}
.lista-fotos {
list-style: none;
}
.lista-fotos .lista-fotos-item {
display: inline-block;
}
.imagem-responsiva {
width: 100%;
}
.filtro {
display: block;
width: 100%;
}
</style>