Vue
by renatello
HTML
<div id="app">
<h2>Random image in Vue.js:</h2>
<p v-if="selectedImage"><img style="width:100%" :src="selectedImage" alt=""></p>
<p><a href="#" @click="generate()">Generate random image</a></p>
</div>
CSS
body {
background: #20262E;
padding: 20px;
font-family: Helvetica;
}
#app {
background: #fff;
border-radius: 4px;
padding: 20px;
transition: all 0.2s;
}
li {
margin: 8px 0;
}
h2 {
font-weight: bold;
margin-bottom: 15px;
}
del {
color: rgba(0, 0, 0, 0.3);
}
Vue
new Vue({
el: "#app",
data: {
images: [
'https://picsum.photos/id/1003/600/200',
'https://picsum.photos/id/1011/600/200',
'https://picsum.photos/id/1020/600/200'
],
selectedImage: null
},
methods: {
randomItem (items) {
return items[Math.floor(Math.random()*items.length)];
},
generate () {
this.selectedImage = this.randomItem(this.images)
}
},
created() {
this.selectedImage = this.randomItem(this.images)
}
})