Book Image

The Majesty Of Vue.js

By : Alex Kyriakidis, Kostas Maniatis
Book Image

The Majesty Of Vue.js

By: Alex Kyriakidis, Kostas Maniatis

Overview of this book

<p>Vue.js is a library to build interactive web interfaces. The aim is to provide the benefits of reactive data binding and composable view components with an API that is as simple as possible.</p> <p>This book will teach you how to efficiently implement Vue.js in your projects. It starts with the fundamentals of Vue.js to building large-scale applications. You will find out what components, filters, methods, and computed properties are and how to use them to build robust applications.</p> <p>Further on, you will become familiar with ES6, single file components, module bundlers, and workflow automation. The best way to learn to code is to write it, so there’s an exercise at the end of most of the chapters for you to solve and actually test yourself on what you have learned. You can solve these in order to gain a better understanding of Vue.js.</p> <p>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.</p>
Table of Contents (23 chapters)
The Majesty of Vue.js
Credits
About the Authors
www.PacktPub.com
Preface
2
Getting Started
8
Consuming an API – Preface
12
ECMAScript 6
15
Swapping Components
18
Closing Thoughts

Enhancing functionality


We should add a couple more features to make our list of stories neat. We can give the user the ability to change the plot and the writer of a story and create new stories.

Editing stories

Let's start with the first task and give the user some inputs to manipulate the story's attributes. Two bound inputs should do the job, but we should display them only when the user is editing a story. It seems like the kind of work we did in previous chapters.

To define if story is in edit state we will use a property, editing, which will become true when the user hits the Edit button:

<td>
    <!--if editing story display the input for plot-->
    <input v-if="story.editing" v-model="story.plot" class="form-
      control">
    </input>
    <!--in other occasions show the story plot-->
    <span v-else>
        {{story.plot}}
    </span>
</td>
<td>
    <!-- if editing story...