<div id="app">
  <div class="photos">
    <img class="photo" :src="photo" v-for="photo in photos" :key="photo">
  </div>
</div>
.photos{
  width:620px;
  column-count: 3;
  column-gap: 10px;
}
function rnd(min, max) {
  return min + ~~((max-min)*Math.random())
}
let app = new Vue({
  data: {
    photos: []

  },
      created() {
      this.photos = Array.from({length: 50}).map(v => Mock.Random.dataImage('200x' + rnd(100, 300)))
      console.log(this.photos)
    }
})
app.$mount(document.getElementById('app'));

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.10/vue.min.js
  2. https://cdnjs.cloudflare.com/ajax/libs/Mock.js/1.0.0/mock-min.js