Vue.js

Vue (pronounced /vjuː/, like view) is a progressive framework for building user interfaces. Unlike other monolithic frameworks, Vue is designed from the ground up to be incrementally adoptable. The core library is focused on the view layer only, and is very easy to pick up and integrate with other libraries or existing projects. On the other hand, Vue is also perfectly capable of powering sophisticated Single-Page Applications when used in combination with modern tooling and supporting libraries.

COURSES 4

WATCH Greg Thoman's COURSE

Develop Basic Web Apps with Vue.js

Develop Basic Web Apps with Vue.js

Vue is a "progressive framework for building user interfaces." Its core library is designed to be fast and flexible and is only...

11 lessons

WATCH Alex Jover Morales's COURSE

Vue.js State Management with Vuex and TypeScript

Vue.js State Management with Vuex and TypeScript

In Use TypeScript to Develop Vue.js Web Applications we’ve seen how TypeScript Vue apps development by creating class based com...

13 lessons

WATCH Alex Jover Morales's COURSE

Use TypeScript to Develop Vue.js Web Applications

Use TypeScript to Develop Vue.js Web Applications

TypeScript is a powerful JavaScript superset which brings you first-class static type-checking along with latest ECMA Script fe...

11 lessons

WATCH John Lindquist's COURSE

Build a Server Rendered Vue.js App with Nuxt and Vuex

Build a Server Rendered Vue.js App with Nuxt and Vuex

Vue.js has a first-class ecosystem to help construct Vue.js apps. This includes Nuxt.js which enables server-rendered applicati...

14 lessons

Load components when needed with Vue async components

In large applications, dividing the application into smaller chunks is often times necessary. In this lesson, we will look at how vue loads async components into your application.

Alex Jover Morales
2:47

Make a request to an API with Axios in Vue

Let's see how to use the vue-axios NPM package to make a request to an API, and make use of the data returned.

Rory Smith
2:05

Render lists of data in Vue with v-for

Let's write some example data and render it to our page with v-for, and then see how we can use the same directive to render the same component multiple times.

Rory Smith
1:40

Load Data from URL Params in Vue.js and Nuxt.js

URLs often reflect some bit of data that the page should load. This lesson walks you through adding a custom URL Param to the router then forwarding that Param to load data onto the page.

John Lindquist
3:18

Configure Named Routes in Vue.js and Nuxt.js

As you create more and more routes, the paths become difficult to manage and concatenate the parts together as just a giant string. Using named routes allows you to reference the route by a simple ...

John Lindquist
1:02

Add Custom Routes for Hidden Pages with Vue.js and Nuxt.js

Sometimes the pages/ directory structure doesn't meet your needs, so you'll need to customize your routes manually. Using the nuxt config and "hidden pages" you can map routes to view components wi...

John Lindquist
1:08

Use Scoped CSS in Vue

Let's see how to apply both scoped and global styles to components in our project, and why we need to use the scoped attribute.

Rory Smith
2:09

Get Started with Vue Components

Components are one of the most powerful features of Vue. Let's take a look at how to write our first components and make use of them in a parent component.

Rory Smith
1:17

Get up and running with vue-router

How do we set up a simple app with its own routes with their own components in Vue?

Rory Smith
3:14

Use basic event handling in Vue

Let's use a range of events and their modifiers to look at the cool ways we can deal with event handlers in Vue.

Rory Smith
2:18

Preload Data using Promises with Vue.js and Nuxt.js

Nuxt.js allows you to return a Promise from your data function so that you can asynchronously resolve data before displaying the page. This allows the server to fetch the data and render the page o...

John Lindquist
2:23

Create Vue.js Layout and Navigation with Nuxt.js

Nuxt.js enables you to easily create layout and navigation by replacing the default App.vue template with your own app.vue layout in a layouts directory. Then you simply surround your content (the ...

John Lindquist
1:40

Browse all Vue.js lessons.

showing All 56 lessons...

Create a Basic Component using Vue.js

Create a List Component in Vue.js

Build Vue.js Apps with the Vue-CLI and Nuxt.js

P

Create Vue.js Layout and Navigation with Nuxt.js

P

Preload Data using Promises with Vue.js and Nuxt.js

P

Use Vue.js Component Computed Properties

P

Use Vue.js Watchers to Respond to Async Updates

P

Update Attributes, Classes and Styles in Vue.js with v-bind

P

Conditionally Render DOM Elements in Vue.js

P

Handle DOM Events in Vue.js with v-on

P

Bind Values to Input Fields in Vue.js

P

Build Reusable Vue.js Components

P

Dynamic Vue.js Components with the component element

P

Create Filters in Vue.js

P

Use basic event handling in Vue

P

Get up and running with vue-router

P

Get Started with Vue Components

P

Use Scoped CSS in Vue

P

Add Custom Routes for Hidden Pages with Vue.js and Nuxt.js

P

Configure Named Routes in Vue.js and Nuxt.js

P

Load Data from URL Params in Vue.js and Nuxt.js

P

Render lists of data in Vue with v-for

P

Make a request to an API with Axios in Vue

P

Setup a "Hello World" Server-Rendered Vue.js Application with the Vue-CLI and Nuxt

P

Update Vuex State with Mutations and MapMutations in Vue.js

P

Manage Vue.js State with Vuex and Nuxt

P

Add Arrays of Data to the Vuex Store and Display Them in Vue.js Templates

P

Handle Load Errors in Nuxt with Alternate Data, Redirect, or Error Layout

P

Add CSS Libraries to Nuxt

P

Load Data from APIs with Nuxt and Vuex

P

Understand the Flash of Unstyled Content in Nuxt

P

Build a Vue.js Form then use Vuex Actions to Post to an API in Nuxt

P

Use Vuex Actions to Delete Data from APIs in Nuxt and Vue.js

P

Display Vuex Data Differently in Each Page of Nuxt and Vue.js

P

Update State with Vuex Actions in Nuxt.js

P

Navigate with nuxt-link and Customize isClient Behavior in Nuxt and Vue.js

P

Build a Navigation Component in Vue.js and Use in a Nuxt Layout

P

Load components when needed with Vue async components

P

Use Vue Tools to Navigate Across the Vuex State

P

Use Vue Router in TypeScript

P

Write a Vue Component as a Class in TypeScript

Use Properties in Vue Components Using @Prop Decorator with TypeScript

P

Use Dependency Injection in Vue Using @Inject and @Provide Decorators with TypeScript

P

Decouple Dependencies Using IoC Containers in Vue with TypeScript and InversifyJS

P

Extend Vue Components in TypeScript

Watch for Changes in Vue Using the @Watch Decorator with TypeScript

P

Create Type-Safe Vue Directives in TypeScript

P

Use Two-Way Binding in Vue Using @Model Decorator with TypeScript

P

Use AOP in Vue Components with TypeScript and Kaop-ts

P

Create your own Decorators in Vue with TypeScript

P
vue tutorial about Create a Basic Component using Vue.js

Create a Basic Component using Vue.js

1:04 vue

Vue.js is a "progressive framework for building user interfaces." The core of Vue is focused on the view layer only. It's easy to get started and quick to set up.

In this lesson, we will create a basic Vue component using the new Vue() method and add data properties to show dynamic content in window.

vue tutorial about Create a List Component in Vue.js

Create a List Component in Vue.js

2:18 vue

In this lesson, we will learn how to iterate over an array in a Vue.js template using the v-for property. We can add to and remove from that list using v-on:click and v-on:keypress.enter.

vue tutorial about Build Vue.js Apps with the Vue-CLI and Nuxt.js

Build Vue.js Apps with the Vue-CLI and Nuxt.js

2:48 vue PRO

The vue-cli allows you to easily start up Vue projects from the command line while Nuxt.js enables a page-based routing system that follows your file structure. Combine these two projects and you'll have a Vue app created from scratch deployed in a matter of minutes.

vue tutorial about Create Vue.js Layout and Navigation with Nuxt.js

Create Vue.js Layout and Navigation with Nuxt.js

1:40 vue PRO

Nuxt.js enables you to easily create layout and navigation by replacing the default App.vue template with your own app.vue layout in a layouts directory. Then you simply surround your content (the <nuxt> instance) with your navigation and/or layout and you're ready to go.

vue tutorial about Preload Data using Promises with Vue.js and Nuxt.js

Preload Data using Promises with Vue.js and Nuxt.js

2:23 vue PRO

Nuxt.js allows you to return a Promise from your data function so that you can asynchronously resolve data before displaying the page. This allows the server to fetch the data and render the page once it's ready.

vue tutorial about Use Vue.js Component Computed Properties

Use Vue.js Component Computed Properties

1:12 vue PRO

You can add computed properties to a component to calculate a property on the fly. The benefit of this over invoking a method is that computed properties are cached based on their dependencies.

vue tutorial about Use Vue.js Watchers to Respond to Async Updates

Use Vue.js Watchers to Respond to Async Updates

0:40 vue PRO

Use watchers to keep an eye on your data. Watchers are methods that are invoked when the specified attribute changes. They are useful when you want to perform asynchronous operations in response to changing data.

vue tutorial about Update Attributes, Classes and Styles in Vue.js with v-bind

Update Attributes, Classes and Styles in Vue.js with v-bind

1:17 vue PRO

Use v-bind:class and v-bind:style to compute html classes and inline styles from component data. Vue.js will automatically add vendor prefixes when using v-bind:style.

vue tutorial about Conditionally Render DOM Elements in Vue.js

Conditionally Render DOM Elements in Vue.js

1:01 vue PRO

You can use v-if and v-else to display content based on assertions on your data. Similarly, v-show can be used to render the content, but hide it with css. v-if can also be used on an invisible wrapper <template> element.

vue tutorial about Handle DOM Events in Vue.js with v-on

Handle DOM Events in Vue.js with v-on

1:06 vue PRO

v-on can be used to handle interaction with elements in your template. Modifiers like stop and prevent can be used in place to preventDefault() and stopPropagation. Vue.js can also capture key bindings such as v-on:keyup.enter and v-on:keyup.13.

vue tutorial about Bind Values to Input Fields in Vue.js

Bind Values to Input Fields in Vue.js

1:47 vue PRO

Use v-model to create 2-way data binding. You can render dynamic options in a select element and bind them to their data. Use v-bind on inputs to use dynamic properties on the Vue instance. Adding modifiers like .lazy, .number and .trim allow us to trim our methods and let Vue take care of things like trimming white space.

vue tutorial about Build Reusable Vue.js Components

Build Reusable Vue.js Components

2:12 vue PRO

By building components, you can extend basic HTML elements and reuse encapsulated code. Most options that are passed into a Vue constructor can be passed into a component. Each instance of a component has an isolated scope. Data can only be passed one direction and it must be from parent to child using props. To communicate with the parent element, use the $emit method.

vue tutorial about Dynamic Vue.js Components with the component element

Dynamic Vue.js Components with the component element

1:40 vue PRO

You can dynamically switch between components in a template by using the reserved <component> element and dynamically bind to its is attribute. By using <keep-alive> you can tell Vue to keep the component in memory.

vue tutorial about Create Filters in Vue.js

Create Filters in Vue.js

1:45 vue PRO

Just like in the command line, you can pipe a property through a filter to get a desired result. You can even chain them together!

vue tutorial about Use basic event handling in Vue

Use basic event handling in Vue

2:18 vue PRO

Let's use a range of events and their modifiers to look at the cool ways we can deal with event handlers in Vue.

vue tutorial about Get up and running with vue-router

Get up and running with vue-router

3:14 vue PRO

How do we set up a simple app with its own routes with their own components in Vue?

vue tutorial about Get Started with Vue Components

Get Started with Vue Components

1:17 vue PRO

Components are one of the most powerful features of Vue. Let's take a look at how to write our first components and make use of them in a parent component.

vue tutorial about Use Scoped CSS in Vue

Use Scoped CSS in Vue

2:09 vue PRO

Let's see how to apply both scoped and global styles to components in our project, and why we need to use the scoped attribute.

vue tutorial about Add Custom Routes for Hidden Pages with Vue.js and Nuxt.js

Add Custom Routes for Hidden Pages with Vue.js and Nuxt.js

1:08 vue PRO

Sometimes the pages/ directory structure doesn't meet your needs, so you'll need to customize your routes manually. Using the nuxt config and "hidden pages" you can map routes to view components without getting in the way of the default pages routing.

vue tutorial about Configure Named Routes in Vue.js and Nuxt.js

Configure Named Routes in Vue.js and Nuxt.js

1:02 vue PRO

As you create more and more routes, the paths become difficult to manage and concatenate the parts together as just a giant string. Using named routes allows you to reference the route by a simple string then pass in the params as an object. This lesson covers configuring named routes in Nuxt.js in the nuxt.config.js and the passing the named route to a router-link.

vue tutorial about Load Data from URL Params in Vue.js and Nuxt.js

Load Data from URL Params in Vue.js and Nuxt.js

3:18 vue PRO

URLs often reflect some bit of data that the page should load. This lesson walks you through adding a custom URL Param to the router then forwarding that Param to load data onto the page.

vue tutorial about Render lists of data in Vue with v-for

Render lists of data in Vue with v-for

1:40 vue PRO

Let's write some example data and render it to our page with v-for, and then see how we can use the same directive to render the same component multiple times.

vue tutorial about Make a request to an API with Axios in Vue

Make a request to an API with Axios in Vue

2:05 vue PRO

Let's see how to use the vue-axios NPM package to make a request to an API, and make use of the data returned.

vue tutorial about Setup a "Hello World" Server-Rendered Vue.js Application with the Vue-CLI and Nuxt

Setup a "Hello World" Server-Rendered Vue.js Application with the Vue-CLI and Nuxt

2:21 vue PRO

The Vue-CLI helps you to quickly and easily setup new Vue projects. Nuxt.js is a library that helps you build server-rendered Vue.js applications. This lesson shows you how to use the nuxt/starter template with the Vue-CLI to quickly start a new project.

vue tutorial about Update Vuex State with Mutations and MapMutations in Vue.js

Update Vuex State with Mutations and MapMutations in Vue.js

1:49 vue PRO

You commit changes to state in Vuex using defined mutations. You can easily access these state mutations in your template using mapMutations. This lesson shows you have to wire together your Vue.js template with your Vuex store using mutations and mapMutations.

vue tutorial about Manage Vue.js State with Vuex and Nuxt

Manage Vue.js State with Vuex and Nuxt

2:03 vue PRO

Most applications require state to be shared across the application. In the case of Nuxt, you'll share state across pages. Nuxt integrates easily with Vuex by simply adding JavaScript files in the store directory. This lesson walks you through setting up a basic store and using it in your template

vue tutorial about Add Arrays of Data to the Vuex Store and Display Them in Vue.js Templates

Add Arrays of Data to the Vuex Store and Display Them in Vue.js Templates

1:33 vue PRO

You add array of todos to the store simply by adding them to the state defined in your store/index.js file. You can access the array of todos using mapState then loop through and display them with v-for. This lesson walks you through the process of setting up todos in Vuex and displaying them in your Vue.js template.

vue tutorial about Handle Load Errors in Nuxt with Alternate Data, Redirect, or Error Layout

Handle Load Errors in Nuxt with Alternate Data, Redirect, or Error Layout

3:50 vue PRO

In a server-rendered application, if you attempt to load data before the page renders and the data fails to load, your application will not run unless you handle the error properly. This lesson walks you through the options of handling load errors so that your users will always have a good experience.

vue tutorial about Add CSS Libraries to Nuxt

Add CSS Libraries to Nuxt

1:25 vue PRO

You can easily add CSS libraries to Nuxt using yarn or npm to install them, then simply adding them to the nuxt.config.js so they're included in each page. Then all the classes will be available for use in all of your templates. This lesson walks your through installing a library then adding it to your nuxt.config.js.

vue tutorial about Load Data from APIs with Nuxt and Vuex

Load Data from APIs with Nuxt and Vuex

2:16 vue PRO

Before each page loads, Nuxt supports pre-fetching data to render what you need on the server. This lesson walks you through using Nuxt's fetch to load data then save it in the Vuex store.

vue tutorial about Understand the Flash of Unstyled Content in Nuxt

Understand the Flash of Unstyled Content in Nuxt

0:52 vue PRO

You'll notice soon after working with Nuxt that you'll begin to see your styles flash in during each page load. This is due to the development mode of Nuxt where it injects the styles into the page after the initial page render. You can rest assured that when you use nuxt build, your styles will render before the page loads.

vue tutorial about Build a Vue.js Form then use Vuex Actions to Post to an API in Nuxt

Build a Vue.js Form then use Vuex Actions to Post to an API in Nuxt

5:25 vue PRO

The default behavior of submitting an HTML form is to reload the page. You can use the Vue.js @submit.prevent syntax to avoid that behavior. Then wire together the @submit event with an add Vuex action to handle an async post to an api. This lesson walks you through posting to an API using Vue.js, Vuex. and Nuxt.

vue tutorial about Use Vuex Actions to Delete Data from APIs in Nuxt and Vue.js

Use Vuex Actions to Delete Data from APIs in Nuxt and Vue.js

3:41 vue PRO

You'll begin to notice as you build out your actions in Vuex, many of them will look quite similar. Creating a remove action looks almost the same as the add action except for using the axios.delete method then filtering out the deleted todo once the response comes back.

vue tutorial about Display Vuex Data Differently in Each Page of Nuxt and Vue.js

Display Vuex Data Differently in Each Page of Nuxt and Vue.js

2:55 vue PRO

You often use the same data in different ways across pages. This lesson walks you through setting up multiple pages, retrieving the same data, then displaying it for each page's use-case.

vue tutorial about Update State with Vuex Actions in Nuxt.js

Update State with Vuex Actions in Nuxt.js

2:34 vue PRO

You can conditionally add classes to Vue.js templates using v-bind:class. This will help display the status of a todo as you add a Vuex action to patch todos. This lesson walks you through setting up a toggle button that triggers a toggle action to patch todos in Vuex.

vue tutorial about Navigate with nuxt-link and Customize isClient Behavior in Nuxt and Vue.js

Navigate with nuxt-link and Customize isClient Behavior in Nuxt and Vue.js

2:56 vue PRO

Because Nuxt renders pages on the server, you should use the nuxt-link components to navigate between pages. Each time a page loads, you can check if you're on the client or server and avoid doing unnecessary loading based on how the page was rendered. This lesson walks you through using nuxt-link and isClient to navigate and avoid reloading data.

vue tutorial about Build a Navigation Component in Vue.js and Use in a Nuxt Layout

Build a Navigation Component in Vue.js and Use in a Nuxt Layout

4:08 vue PRO

You can isolate parts of templates you want to re-use into components, but you can also reuse those components across pages using layouts. This lesson walks you through creation a navigation component then extracting it out into the default layout.

vue tutorial about Load components when needed with Vue async components

Load components when needed with Vue async components

2:47 vue PRO

In large applications, dividing the application into smaller chunks is often times necessary. In this lesson, we will look at how vue loads async components into your application.

vue tutorial about Use Vue Tools to Navigate Across the Vuex State

Use Vue Tools to Navigate Across the Vuex State

1:29 vue PRO

Each mutation modifies one part of the state, making it easy to debug and redo-undo modifications. This lesson shows how you can do time-travel navigation and manipulation on you Vuex store by using Vue tools.

vue tutorial about Use Vue Router in TypeScript

Use Vue Router in TypeScript

3:19 vue PRO

vue-router introduces new hooks into the component. In this lesson we’ll show you how to use these new hooks in your class based Vue components in TypeScript. We’ll also go over how we can create and use routes in Vue.

Write a Vue Component as a Class in TypeScript

2:39 vue

Writing Vue components as plain objects has very limited capabilities for TypeScript’s IntelliSense. This lesson will show you how to write components as classes to take full potential of TypeScript static typing by using vue-class-component.

vue tutorial about Use Properties in Vue Components Using @Prop Decorator with TypeScript

Use Properties in Vue Components Using @Prop Decorator with TypeScript

2:26 vue PRO

With properties we can follow a one-way parent→child flow communication between components. This lesson shows you how you can pass down properties to class based Vue components by using the @Prop decorator from vue-property-decorator.

We’ll also see how we can set types and even default properties on @Prop!

vue tutorial about Use Dependency Injection in Vue Using @Inject and @Provide Decorators with TypeScript

Use Dependency Injection in Vue Using @Inject and @Provide Decorators with TypeScript

2:17 vue PRO

Vue 2.2 introduced a simple dependency injection system, allowing you to use provide and inject in your component options. This lesson shows you how to use them using the @Inject and @Provide decorators in tandem!

vue tutorial about Decouple Dependencies Using IoC Containers in Vue with TypeScript and InversifyJS

Decouple Dependencies Using IoC Containers in Vue with TypeScript and InversifyJS

5:32 vue PRO

Using Object Oriented Programming, OOP, style allows us to apply Inversion of Control, IoC, and more patterns. An IoC container helps decoupling dependencies by using a class constructor or properties to identify and inject its dependencies. This lesson will show you how can you create and use an IoC container to decouple an http client and users service dependencies in a Vue component with TypeScript and InversifyJS.

vue tutorial about Extend Vue Components in TypeScript

Extend Vue Components in TypeScript

3:04 vue

This lesson shows how you can extend and reuse logic in Vue components using TypeScript inheritance. It will take you through extending a component, its properties and methods, and how hooks are triggered along the inheritance tree.

vue tutorial about Watch for Changes in Vue Using the @Watch Decorator with TypeScript

Watch for Changes in Vue Using the @Watch Decorator with TypeScript

1:40 vue PRO

Vue watchers allow to perform async updates as a side effect of a property change. This lesson shows you how you can watch properties on your class based component and how to use the @Watch decorator for it.

vue tutorial about Create Type-Safe Vue Directives in TypeScript

Create Type-Safe Vue Directives in TypeScript

4:02 vue PRO

Directives allow us to apply DOM manipulations as side effects. We’ll show you how you can create your own Vue directive to change a component’s colors and type-safe it with TypeScript.

We’ll additionally show how you can pass objects to your directives and make them more flexible!

vue tutorial about Use Two-Way Binding in Vue Using @Model Decorator with TypeScript

Use Two-Way Binding in Vue Using @Model Decorator with TypeScript

3:26 vue PRO

Vue models, v-model, allow us to use two-way data binding, which is useful in some cases such as forms. This lesson shows how to use it by creating a custom checkbox component using the @Model decorator in TypeScript.

vue tutorial about Use AOP in Vue Components with TypeScript and Kaop-ts

Use AOP in Vue Components with TypeScript and Kaop-ts

7:20 vue PRO

Aspect Oriented Programming, AOP, allows to reuse logic across an entire app in a very neat way, decoupling it from the business logic. Kaop-ts bring us decorators in order to apply AOP. This lesson will show you how you can move cache and exception handling out of your business logic using TypeScript and Kaop-ts

vue tutorial about Create your own Decorators in Vue with TypeScript

Create your own Decorators in Vue with TypeScript

2:30 vue PRO

We’ve used @Watch, @Inject and more decorators from vue-property-decorator. In this lesson however we will guide you through creating your own decorators in order to add common functionality to your Vue components using TypeScript.

HEY, QUICK QUESTION!
Joel's Head
Why are we asking?