Learning a new framework can be a very complicated process for any developer, especially for someone that is still learning the basics of JavaScript. For this reason, we decided to create this series, which will make Vue.js learning as easy and digestible as possible.
How to integrate Vue.js to your project
There are several ways you can integrate Vue into your web project. Let's begin with the simplest one.
Most tutorials automatically assume that you understand how to set up and run a development environment in which you should use things like npm, the webpack...
We will start with a much simpler beginner-friendly approach.
Just go ahead and run your favorite code editor. Then, create a new file called index.html.
<html> <head> <title>Vue test page</title> </head> <body> <h1>Hi world!</h1> <div id="app"></div> </body> </html>
We just set the bones for a simple website, nothing really fancy. Now, let's get the library of Vue. Before closing,< /body >
paste this script tag.
[...] <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> </body>
So we can use Vue now that it's loaded into our page. Let's go ahead and and and in a < script > tag create a new Vue instance. We will give it a selector by passing #app to the options object property, and Vue will know where to render our app.
Place this script after html.
<script> const app = new Vue({ el: '#app', // 1 data: { // 2 myLocalProperty: 'Im a local property value' // 3 } }); </script>
So what's going on here? We created a Vue instance and pass It a configuration object.
el
: As I said before, we have to tell Vue where we want our app to be displayed in our HTML. Div with the app ID in this cadata object
: Vue instance has a local storage system, such as a box of variables and properties that we can use when coding the app. Data holds a JavaScript object, so we assign it one with the { } syntax. Inside, we place a property.myLocalProperty
: This property is defined within the data object for our instance, the name is myLocalProperty and the value on the right is the value - a string in this case.
Displaying properties on our app
Right now, if you open index.html in your browser, there's not much going on.
Let's add some code:
<html> <head> <title>Vue 101</title> </head> <body> <h1>Hi world!</h1> <div id="app"> <p>My local property: {{ myLocalProperty }}</p> </div> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script> const app = new Vue({ el: '#app', data: { myLocalProperty: 'Im a local property value' } }); </script>
Be careful with this line:
<p>My local property: {{ myLocalProperty }}</p>
What's happening here is called variable interpolation, which is a fancy term for "I'm going to display the content of my myLocalProperty variable in this placeholder where my {{ }} are now.
Reload the page, and you will now see the string updates to reflect our variable.
Go ahead and try to change the string inside myLocalProperty to some other text and reload the page, you should see the text update accordingly.
Vue is a reactive framework
Let's discuss reactivity. You may have heard that Vue is a reactive framework. But what exactly does this mean? Open up your console in the chrome developer tools, and with your index.html loaded type:
app.myLocalProperty = 'Vue is reactive';
You will see the page react to this change!