Book Image

Vue.js 2 Cookbook

By : Andrea Passaglia
Book Image

Vue.js 2 Cookbook

By: Andrea Passaglia

Overview of this book

Vue.js is an open source JavaScript library for building modern, interactive web applications. With a rapidly growing community and a strong ecosystem, Vue.js makes developing complex single page applications a breeze. Its component-based approach, intuitive API, blazing fast core, and compact size make Vue.js a great solution to craft your next front-end application. From basic to advanced recipes, this book arms you with practical solutions to common tasks when building an application using Vue. We start off by exploring the fundamentals of Vue.js: its reactivity system, data-binding syntax, and component-based architecture through practical examples. After that, we delve into integrating Webpack and Babel to enhance your development workflow using single file components. Finally, we take an in-depth look at Vuex for state management and Vue Router to route in your single page applications, and integrate a variety of technologies ranging from Node.js to Electron, and Socket.io to Firebase and HorizonDB. This book will provide you with the best practices as determined by the Vue.js community.
Table of Contents (19 chapters)
Title Page
Credits
About the Author
About the Reviewer
www.PacktPub.com
Customer Feedback
Dedication
Preface

Implementing infinite scrolling


Infinite scrolling is a fine example of what you can do with Vue and AJAX. It is also quite popular and can improve interaction for some kind of content. You will build a random word generator that works with infinite scrolling.

Getting ready

We will use Axios. Take a look at the Sending basic AJAX requests with Axios recipe to know how to install it and its basic functionality. Other than that, you don't need to know much to follow along.

How to do it...

To make our app work, we will ask random words from the http://www.setgetgo.com/randomword/get.php endpoint. Every time you point the browser at this address, you will get a random word.

The whole page will consist solely of an infinite list of words. Write the following HTML:

<div id="app"> 
  <p v-for="word in words">{{word}}</p> 
</div>

The list of words needs to grow as we scroll down. So we need two things: understanding when the user reaches the bottom of the page, and getting new words...