The Majesty of Vue.js 2
The Majesty of Vue.js 2
About the Book
TL;DR: This title is the updated version of The Majesty of Vue.js, which sold over 700 copies, and was considered one of the first and top learning resources for the Vue.js framework. The book will be constantly updated to keep up with Vue.js 2 changes and new chapters will be added for a long time.
This book is addressed to anyone interested in learning Vue.js. It is useful for developers who are new to Vue.js as well as those who already use Vue.js and want to expand their knowledge. It is also helpful for developers who are looking to migrate to Vue.js 2.
A percentage (20%) of book earnings will be donated to Evan You to support the excellent work he's doing with the Vue framework.
If you are looking for more advanced topics like Vuex, Firebase, etc, check out Vue School.
This book will guide you through the path of the rapidly spreading Javascript Framework called Vue.js!
Some time ago, we started a new project based on Laravel and Vue.js. After thoroughly reading Vue.js' guide and a few tutorials, we discovered a lack of resources about Vue.js around the web. During the development of our project, we gained a lot of experience, so we came up with the idea to write this book in order to share our acquired knowledge with the world. Now that Vue.js 2 is out we decided it was time to update our book by publishing a second version where all examples and their relative contents are rewritten.
The book is written in an informal, intuitive, and easy-to-follow format, wherein all examples are appropriately detailed enough to provide adequate guidance to everyone. We’ll start with the very basics and through many examples, we’ll cover the most significant features of Vue.js 2.
The best way to learn code is to write code, so we have prepared one exercise at the end of most chapters for you to solve and actually test yourself on what you have learned. We have also updated the exercises and solutions for Vue 2, and strongly recommend you to try as much as possible to solve them in order to gain a better understanding of Vue.js.
By the end of this book, you will be able to create fast front end applications and increase the performance of your existing projects with Vue.js integration.
Who is this book for
Everyone who has spent time to learn modern web development has seen Bootstrap, Javascript, and many Javascript frameworks.
This book is for anyone interested in learning a lightweight and simple Javascript framework.
No excessive knowledge is required, though it would be good to be familiar with HTML and Javascript. If you don't know what the difference is between a string and an object, maybe you need to do some digging first.
This book is also useful for any reader who already know their way around Vue.js and want to expand their knowledge.
About the Contributors
Editor
Eugenia is an English teacher. She works as a translator and her main field is literature. However, she is challenged by all kinds of books. In her free time she likes to make subtitles for TV-series.
Table of Contents
-
Introduction
-
About Vue.js
- Vue.js Overview
- What people say about Vue.js
-
Comparison with Other Frameworks
- Angular 1
- Angular 2
- React
- Ember
- Polymer
- Riot
-
Welcome
- About the Book
- Who is this Book for
- Get In Touch
- Homework
- Sample Code
- Errata
- Conventions
-
About Vue.js
-
I Vue.js Fundamentals
-
1. Install Vue.js
-
1.1 Standalone Version
- 1.1.1 Download from vuejs.org
- 1.1.2 Include from CDN
- 1.2 Download using NPM
- 1.3 Download using Bower
-
1.1 Standalone Version
-
2. Getting Started
- 2.1 Hello World
- 2.2 Two-way Binding
- 2.3 Comparison with jQuery.
- 2.4 Homework
-
3. A Flavor of Directives.
- 3.1 v-show
-
3.2 v-if
- 3.2.1 Template v-if
- 3.3 v-else
- 3.4 v-if vs. v-show
- 3.5 Homework
-
4. List Rendering
- 4.1 Install & Use Bootstrap
-
4.2 v-for
- 4.2.1 Range v-for
-
4.3 Array Rendering
- 4.3.1 Loop Through an Array
- 4.3.2 Loop Through an Array of Objects
- 4.4 Object v-for
- 4.5 Homework
-
5. Interactivity
-
5.1 Event Handling
- 5.1.1 Handling Events Inline
- 5.1.2 Handling Events using Methods
-
5.1.3 Shorthand for
v-on
- 5.2 Event Modifiers
- 5.3 Key Modifiers
- 5.4 Computed Properties
- 5.5 Homework
-
5.1 Event Handling
-
6. Filters
-
6.1 Filtered Results
- 6.1.1 Using Computed Properties
- 6.2 Ordered Results
- 6.3 Custom Filters
- 6.4 Utility Libraries
- 6.5 Homework
-
6.1 Filtered Results
-
7. Components
- 7.1 What are Components?
- 7.2 Using Components
- 7.3 Templates
- 7.4 Properties
- 7.5 Reusability
- 7.6 Altogether
- 7.7 Homework
-
8. Custom Events
-
8.1 Emit and Listen
- 8.1.1 Lifecycle Hooks
- 8.2 Parent-Child Communication
- 8.3 Passing Arguments
- 8.4 Non Parent-Child Communication
- 8.5 Removing Event Listeners
- 8.6 Back to stories
- 8.7 Homework
-
8.1 Emit and Listen
-
9. Class and Style Bindings
-
9.1 Class binding
- 9.1.1 Object Syntax
- 9.1.2 Array Syntax
-
9.2 Style binding
- 9.2.1 Object Syntax
- 9.2.2 Array Syntax
- 9.3 Bindings in Action
- 9.4 Homework
-
9.1 Class binding
-
1. Install Vue.js
-
II Consuming an API
-
10. Preface
- 10.1 CRUD
-
10.2 API
- 10.2.1 Download Book’s Code
- 10.2.2 API Endpoints
-
11. Working with real data
- 11.1 Get Data Asynchronous
- 11.2 Refactoring
- 11.3 Update Data
- 11.4 Delete Data
-
12. HTTP Clients
- 12.1 Introduction
- 12.2 Vue-resource
- 12.3 Axios
- 12.4 Integrating axios
-
12.5 Enhancing Functionality
- 12.5.1 Edit Stories
- 12.5.2 Create New Stories
- 12.5.3 Store & Update Unit
- 12.6 JavaScript File
- 12.7 Source Code
-
12.8 Homework
- 12.8.1 Preface
- 12.8.2 API Endpoints
- 12.8.3 Your Code
-
13. Pagination
- 13.1 Implementation
- 13.2 Pagination Links
- 13.3 Homework
-
10. Preface
-
III Building Large-Scale Applications
-
14. ECMAScript 6
-
14.1 Introduction
- 14.1.1 Compatibility
-
14.2 Variable Declarations
- 14.2.1 Let Declarations
- 14.2.2 Constant Declarations
- 14.3 Arrow Functions
- 14.4 Modules
- 14.5 Classes
- 14.6 Default Parameter Values
- 14.7 Template literals
-
14.1 Introduction
-
15. Advanced Workflow
-
15.1 Compiling ES6 with Babel
- 15.1.1 Installation
- 15.1.2 Configuration
- 15.1.3 Build alias
- 15.1.4 Usage
- 15.1.5 Homework
-
15.2 Workflow Automation with Gulp
- 15.2.1 Task Runners
- 15.2.2 Installation
- 15.2.3 Usage
- 15.2.4 Watch
- 15.2.5 Homework
-
15.3 Module Bundling with Webpack
- 15.3.1 Module Bundlers
- 15.3.2 Webpack
- 15.3.3 Installation
- 15.3.4 Usage
- 15.3.5 Automation
- 15.4 Summary
-
15.1 Compiling ES6 with Babel
-
16. Working with Single File Components
-
16.1 The
vue-cli
- 16.1.1 Vue’s Templates
- 16.1.2 Installation
- 16.1.3 Usage
-
16.2 Webpack Template
- 16.2.1 Project Structure
- 16.2.2 index.html
- 16.2.3 Hello.vue
- 16.2.4 App.vue
- 16.2.5 main.js
-
16.3 Forming
.vue
Files- 16.3.1 Nested Components
-
16.1 The
-
17. Eliminating Duplicate State
- 17.1 Sharing with Properties
- 17.2 Global Store
-
18. Swapping Components
-
18.1 Dynamic Components
-
18.1.1 The
is
special attribute - 18.1.2 Navigation
-
18.1.1 The
-
18.1 Dynamic Components
-
19. Vue Router
- 19.1 Installation
- 19.2 Usage
- 19.3 Named Routes
- 19.4 History mode
- 19.5 Nested routes
-
19.6 Auto-CSS active class
- 19.6.1 Custom Active Class
- 19.7 Route Object
- 19.8 Dynamic Segments
- 19.9 Route Alias
- 19.10 Programmatic Navigation
-
19.11 Transitions
- 19.11.1 Introduction
- 19.11.2 Usage
- 19.11.3 3rd-party CSS animations
- 19.12 Navigation Guards
- 19.13 Homework
- 20. Closing Thoughts
-
21. Further Learning
- 21.1 Tutorials
- 21.2 Videos
- 21.3 Books
- 21.4 Open source projects
- 21.5 Awesome Vue
-
14. ECMAScript 6
The Leanpub 60 Day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.
You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!
So, there's no reason not to click the Add to Cart button, is there?
See full terms...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earnedover $13 millionwriting, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them