<!DOCTYPE html>
<html>
  <head>
    <link rel="stylesheet" href="style.css">
    <script src="//unpkg.com/axios/dist/axios.min.js"></script>
    <script src="//code.jquery.com/jquery-3.2.1.slim.min.js" ></script>
    <script src="//cdnjs.cloudflare.com/ajax/libs/vue/2.5.16/vue.min.js"></script>
    <script src="//cdnjs.cloudflare.com/ajax/libs/vue-router/3.0.1/vue-router.min.js"></script>
    <script src="//unpkg.com/vue-infinite-loading@^2/dist/vue-infinite-loading.js"></script>
  </head>
  <body>
    <h1>Hello Plunker!</h1>
    <div id="app">
      <table>
        <tr v-for="(item, $index) in list" :key="$index">
          <td><a :href="item.url">{{item.title}}</a></td>
        </tr>
      </table>
      <infinite-loading @infinite="infiniteHandler"></infinite-loading>
      </div>
    <script src="script.js"></script>
  </body>
</html>





Vue.use(window.VueInfiniteLoading);
const api = 'https://qiita.com/api/v2/items'
var app = new Vue({
  el: '#app',
  data() {
    return {
      page: 1,
      list: [],
    }
  },
  methods: {
    infiniteHandler($state) {
      axios.get(api, {
        params: {
          page: this.page,
          per_page: 10
        },
      }).then(({ 
        data
      }) => {
        if (data.length)
        {
          this.page += 1
          app.list.push(...data)
          $state.loaded()
        }
        else
        {
          $state.complete()
        }
      }).catch((err) => {
        alert(err);
        $state.complete()
      })
    }
  }
})



/* Styles go here */