Book Image

Learning Vue.js 2

By : Olga Filipova
Book Image

Learning Vue.js 2

By: Olga Filipova

Overview of this book

Vue.js is one of the latest new frameworks to have piqued the interest of web developers due to its reactivity, reusable components, and ease of use. This book shows developers how to leverage its features to build high-performing, reactive web interfaces with Vue.js. From the initial structuring to full deployment, this book provides step-by-step guidance to developing an interactive web interface from scratch with Vue.js. You will start by building a simple application in Vue.js which will let you observe its features in action. Delving into more complex concepts, you will learn about reactive data binding, reusable components, plugins, filters, and state management with Vuex. This book will also teach you how to bring reactivity to an existing static application using Vue.js. By the time you finish this book you will have built, tested, and deployed a complete reactive application in Vue.js from scratch.
Table of Contents (18 chapters)
Learning Vue.js 2
Credits
About the Author
Acknowledgments
About the Reviewer
www.PacktPub.com
Dedication
Preface

Revisiting and applying directives


In the previous section, we saw how to interpolate the application's data and how to bind it to the visual layer. Though the syntax is pretty powerful and offers a high possibility of data modification (using filters and expressions), it has some limitations. Try, for example, to implement the following using {{}} notation:

  • Use the interpolated data in the user input and apply the changes to the corresponding data when the user types in the input
  • Bind a specific element's attribute (for example, src) to the data
  • Render some element conditionally
  • Iterate through an array and render some component with the elements of the array
  • Create event listeners on the elements

Let's try at least the first one. Open, for example, the shopping list application (it's in the chapter4/shopping-list folder). Create an input element in the App.vue template and set its value to {{ title }}:

<template> 
  <div id="app" class="container"> 
    <h2>{{ title...