
- 412 pages
- English
- ePUB (mobile friendly)
- Available on iOS & Android
Vue.js 2.x by Example
About this book
Learn the fundamentals of vue.js by creating complex SPAs with Vuex, vue-router and moreAbout This Book• We bridge the gap between "learning" and "doing" by providing real-world examples that will improve your web development skills with Vue.js• Explore the exciting features of Vue.js 2 through practical and interesting examples• Explore modern development tools and learn how to utilize them by building applications with Vue.js Who This Book Is ForThis book is for developers who know the basics of JavaScript and are looking to learn Vue.js with real examples. You should understand the basics of JavaScript functions and variables and be comfortable with using CSS or a CSS framework for styling your projects.What You Will Learn• Looping through data with Vue.js• Searching and filtering data• Using components to display data• Getting a list of files using the dropbox API• Navigating through a file tree and loading folders from a URL• Caching with Vuex• Pre-caching for faster navigation• Introducing vue-router and loading components• Using vue-router dynamic routes to load data• Using vue-router and Vuex to create an ecommerce storeIn DetailVue.js is a frontend web framework which makes it easy to do just about anything, from displaying data up to creating full-blown web apps, and has become a leading tool for web developers. This book puts Vue.js into a real-world context, guiding you through example projects that helps you build Vue.js applications from scratch.With this book, you will learn how to use Vue.js by creating three Single Page web applications. Throughout this book, we will cover the usage of Vue, for building web interfaces, Vuex, an official Vue plugin which makes caching and storing data easier, and Vue-router, a plugin for creating routes and URLs for your application.Starting with a JSON dataset, the first part of the book covers Vue objects and how to utilize each one. This will be covered by exploring different ways of displaying data from a JSON dataset. We will then move on to manipulating the data with filters and search and creating dynamic values.Next, you will see how easy it is to integrate remote data into an application by learning how to use the Dropbox API to display your Dropbox contents in an applicationIn the final section, you will see how to build a product catalog and dynamic shopping cart using the Vue-router, giving you the building blocks of an e-commerce store.Style and approachThis book takes you three projects, with step-by-step instructions to help you understand the concepts of Vue and put it into practice.
Tools to learn more effectively

Saving Books

Keyword Search

Annotating Text

Listen to it instead
Information
Building an E-Commerce Store – Browsing Products
- Create a home page listing page with specific products
- Create a category page with a reusable component
- Create an ordering mechanism
- Create filters dynamically and allow the user to filter the products
Listing the products
Adding a new route
const router = new VueRouter({
routes: [
{
path: '/',
name: 'Home',
component: HomePage
},
{
path: '/product/:slug',
component: ProductPage
},
{
path: '/404',
alias: '*',
component: PageNotFound
}
]
}); const HomePage = {
name: 'HomePage',
template: `<div v-if="products"></div>`,
computed: {
products() {
return this.$store.state.products;
}
}
}; Looping through products
template: `<div v-if="products">
<ol>
<li v-for="product in products" v-if="product">
<h3>{{ product.title }}</h3>
</li>
</ol>
</div>`,
Creating pagination
Calculating the values
- Items per page: This is usually set by the user; however, we'll use a fixed number of 12, to begin with
- Total items: This is the total number of products to display
- Number of pages: This can be calculated by dividing the number of products by the items per page
- Current page number: This, combined with the others, will allow us to return exactly which products we need
products() {
let products = this.$store.state.products;
return Object.keys(products).map(key => products[key]);
}, computed: {
products() {
let products = this.$store.state.products;
return Object.keys(products).map(key => products[key]);
},
pagination() {
if(this.products) {
return {
}
}
}
}, const HomePage = {
name: 'HomePage',
template: `...`,
data() {
return {
perPage: 12,
currentPage: 1
}
},
computed: {
...
}
}; Table of contents
- Title Page
- Copyright
- Credits
- About the Author
- About the Reviewers
- Acknowledgments
- www.PacktPub.com
- Customer Feedback
- Preface
- Getting Started with Vue.js
- Displaying, Looping, Searching, and Filtering Data
- Optimizing your App and Using Components to Display Data
- Getting a List of Files Using the Dropbox API
- Navigating through the File Tree and Loading Folders from the URL
- Caching the Current Folder Structure Using Vuex
- Pre-Caching Other Folders and Files for Faster Navigation
- Introducing Vue-Router and Loading URL-Based Components
- Using Vue-Router Dynamic Routes to Load Data
- Building an E-Commerce Store – Browsing Products
- Building an E-Commerce Store – Adding a Checkout
- Using Vue Dev Tools and Testing Your SPA
Frequently asked questions
- Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
- Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app