Book Image

Vue.js 3 By Example

By : John Au-Yeung
Book Image

Vue.js 3 By Example

By: John Au-Yeung

Overview of this book

With its huge ecosystem and wide adoption, Vue is one of the leading frameworks thanks to its ease of use when developing applications. However, it can get challenging for aspiring Vue.js developers to make sense of the ecosystem and build meaningful applications. This book will help you understand how you can leverage Vue effectively to develop impressive apps quickly using its latest version – Vue 3.0. The book takes an example-based approach to help you get to grips with the basics of Vue 3 and create a simple application by exploring features such as components and directives. You'll then enhance your app building skills by learning how to test the app with Jest and Vue Test Utils. As you advance, you'll understand how to write non-web apps with Vue 3, create cross-platform desktop apps with the Electron plugin, and build a multi-purpose mobile app with Vue and Ionic. You'll also be able to develop web apps with Vue 3 that interact well with GraphQL APIs. Finally, you'll build a chat app that performs real-time communication using Vue 3 and Laravel. By the end of this Vue.js book, you'll have developed the skills you need to build real-world apps using Vue 3 by working through a range of projects.
Table of Contents (10 chapters)

Adding the calculators to our calculator app

Now that we have our project ready, we can start working on our app. We start with adding the route definition to map URL paths to the page components that we will create. Then we will work on the components for each feature. And then we will add the Vuex store with code to persist the store data to local storage so we can use the data whenever we want.

Adding routes

First, we will work on adding routing to our calculator app. In the src/router/index.ts file, write the following code:

import { createRouter, createWebHistory } from '@ionic/vue-
import { RouteRecordRaw } from 'vue-router';
const routes: Array<RouteRecordRaw> = [
    path: '/',
    component: () => import('../views/Home.vue')
    path: '/currency-converter',
    component: (...