Pokemon Picture - Tylung/vue-apuntes GitHub Wiki
Se encuentran dos imagenes, una es la del pokemon con la clase hidden-pokemon que oculta el pokemon y solo muestra la silueta y la segunda imagen es el es pokemon normal sin la clase que lo oculta, solo se mostrara esta segunda si el usuario elige una opción
<div class="pokemon-container">
<img
v-if="!showPokemon"
:src="imgSrc"
class="hidden-pokemon"
alt="pokemon">
<img
v-else
:src="imgSrc"
alt="pokemon"
class="fade-in">
</div>
En el export default se declaran 2 propiedades reactivas, el pokemonId
que es de tipo Number y es required y el showPokemon
que es de tipo Boolean, es required y por defecto es false
export default {
props: {
pokemonId: {
type: Number,
required: true,
},
showPokemon: {
type: Boolean,
required: true,
default: false
}
},
computed: {
imgSrc() {
return `https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/dream-world/${ this.pokemonId }.svg`
}
}
}
y también esta la propiedad computada que es el src
de la imagen del pokemon, esta imagen recibe el pokemonId
, para renderizar el pokemon que tiene que adivinar el usuario
En los estilos solo centra la imagen, se le quita la posibilidad al usuario de arrastar o seleccionar la imagen para que no haga trampa y define la clase hidden-pokemon para ocultar la imagen y solo se muestre la silueta
<style scoped>
/* Pokemon Picture */
.pokemon-container {
height: 200px;
display: flex;
justify-content: center;
}
img {
height: 200px;
position: absolute;
user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-webkit-user-drag: none;
-webkit-user-select: none;
}
.hidden-pokemon {
filter: brightness(0);
}
</style>