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

Having recursive components


If you are even a little into programming, one of the first things you'll hear is iteration versus recursion. Vue has both, and if you have some tree structured graphics or menus in your application, Vue's got you covered. In this recipe, we will illustrate on this point by building a classification of animals in a recursive fashion.

 

Getting ready

We will use a couple of props in this recipe, so ensure that you have the Passing data to your component with props recipe completed before starting this one.

How to do it...

First of all, let's write an empty Vue instance that we will fill:

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

You will need some material to work with; by this, I mean a whole lot of animals to classify. You can copy maybe only a part of this code in your Vue instance data, but to give you some inspiration, here it comes, the longest listing in this whole book:

data: { 
  living: { 
    animals: { 
      invertebrates: { 
        crab: null, 
        bee: null, 
 ...