Vue.js example

HTML

<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script src="https://unpkg.com/vue-resource/dist/vue-resource.min.js"></script>

<div id="app">
  <h1>Photos</h1>
  <photos></photos>
  <h1>Comments</h1>
  <comments></comments>
</div>

CSS

.photos {
  clear: left;
  overflow: hidden;
  padding-left: 0;
}
.photos li {
  list-style-type: none;
  float: left;
}
.comments {
  padding-left: 0;
}
.comments li {
  list-style-type: none;
  border: 1px #ddd solid;
  background: white;
  padding: 10px;
}

JavaScript

Vue.component('photos', {
	template: `<ul class="photos">
  	<li v-if="loading">Loading photos...</li>
  	<li v-else v-for="photo in photos"><img :src="photo.thumbnailUrl" /></li>
  </ul>`,
	data: function () {
  	return {
    	photos: [],
      loading: true
    };
  },
  mounted: function () {
  	var vm = this;
  	this.$http.get('http://pontocloud.com/sistema/rest/cloud/funcionarios')
    .then(function (res) {
    	console.log(res)
    	vm.photos = res.body.slice(0, 9);
      vm.loading = false;
    })
  }
})

Vue.component('comments', {
	template: `<ul class="comments">
  	<li v-if="loading">Loading comments...</li>
  	<li v-else v-for="comment in comments">{{ comment.name }}</li>
  </ul>`,
	data: function () {
  	return {
    	comments: [],
      loading: true
    };
  },
  mounted: function () {
  	var vm = this;
  	this.$http.get('https://jsonplaceholder.typicode.com/comments')
    .then(function (res) {
    	vm.comments = res.body.slice(0, 10);
      vm.loading = false;
    })
  }
})

new Vue({
	el: '#app'
})