What is the difference between one-way data flow and two-way data binding in vue.js?
Last Updated :
28 Apr, 2025
Vue.js is an open-source front-end JavaScript framework for building user interfaces and single-page applications. It follows Model-View-ViewModel (MVVM) architecture pattern. Vue.js has many in-built directives for DOM manipulation such as v-bind, v-on, v-model, etc. In this article, we will learn about the one-way data binding & two-way data binding in vue.js, along with knowing the differences between them & their basic implementations through the illustration
Model-View-Viewmodel (MVVM) Pattern in Vue.js: MVVM pattern has some similarities with the MVP(Model-View-Presenter) design pattern as the Presenter role is played by the ViewModel. However, the drawbacks of the MVP pattern has been solved by MVVM. It suggests separating the data presentation logic(Views or UI) from the core business logic part of the application.
Model-View-ViewModel patternThe separate code layers of MVVM are:
- View: View is a Presentation layer that User Interface structure represents the DOM, The Document Object Model (DOM) that is managed by Vue instances.
Syntax:
<div>
<p> {{ name }} </p>
<div>
- Model: Model is a Business-Logic Layer containing plain javascript objects or Data model objects that become reactive when created by Vue instances. Whenever objects changed, the View also updated simultaneously.
Syntax:
data : { name: "geeksforgeeks" }
- ViewModel: View-Model layer that projects and transforms Model objects for state changes. View layer listens to that property changes and renders in DOM. It is a bridge between the Model and View for creating Vue instance with synchronized objects. Vue instances created by Vue() Constructor. Vue directives are used to help Data manipulations and DOM listeners in Vue instances.
Syntax:
const app = new Vue( {....} );
Data Binding is one of the most important features in web applications which is useful to sync the values updated by the user during the interaction with the web pages. It is a process of binding the data objects that communicate between HTML and the business logic. In Vue.js, the data binding provides fast and automatic communication between Data Model ( Vue Component ) and the View(Presentation layer). Vue.js provides both the one-way data flow & two-way data flow binding for web applications. In Vue.js, there is no need to write complex code for two-way data binding, unlike other frameworks.
Types of Data Binding:
- One-way data binding
- Two-way data binding
The below diagram illustrates the basic concept of data binding & their types:
One-Way data binding: In one-way data flow, the DOM( Document Object Model ) does not update automatically when the data Model changes, so we need to write some custom code to update/trigger it when the data model is changed. If the user needs to modify/manipulate the data, View(presentation layer) needs to send the communication through events. The events will trigger the Model(business-logic layer) and update the context.
Let's see the Implementations of one-way data binding in Vue.js:
- String Interpolation: Use double curly braces for binding any data variable, and initialize the data objects through Vue Components. The {{ }} double curly braces stands for property binding.
Syntax:
<p>{{name-of-variable}}</p>
Variables are created and defined inside the data model.
<script>
data : { text1: "Geeks For Geeks" }
</script>
It will bind the value inside double curly braces of <p> element at the DOM presentation layer when the Vue instance is loaded.
<p>{{text1}}</p>
once text1 binds with DOM we can't change the value of text1 due to one-way data flow, still, you can change the value with help of event binding. Events are used for listening to DOM elements when it's changed.
- v-bind directive: Also Use the v-bind directive for binding styles and class attributes, it uses one-way data binding that data always flows in a single direction. It helps to bind CSS styles for the data elements in DOM.
Syntax:
<span v-bind:style="{ color: 'green' }">{{name-of-variable}}</span>
Below Code example will display the text1 in DOM using a one-way data flow for the text with green color styles and bold format.
<script>
data : { text1: "GeeksforGeeks" }
</script>
<h1 v-bind:style="{ color: 'green' }">{{text1}}</h1>
- v-once directive: If we want to avoid data objects re-rendering from the DOM changes, use the v-once directive. It will help data to render only once.
Syntax:
<span v-once>
This content can bind only once : {{text2}}
</span>
Example 1: In the below example, we are binding three text attributes using a one-way data flow. The first one is text1 which represents the input from the text box, the Event handler will help that text will modify in DOM. Enter a text in the text box field, it will update the text in string interpolation of {{text1}} when the button is clicked. The text2 represents once in the DOM with help of the v-once directive, we cannot change this text once rendered by the Vue component. if we want to avoid re-rendering from the DOM changes, this directive will help to render only once. The text3 represents the header and it uses the v-bind directive for binding text styles according to the given color.
HTML
<!DOCTYPE html>
<html>
<head>
<title>
One-Way data binding in VueJS
</title>
<script src=
"https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.js">
</script>
</head>
<body>
<div id='firstApp'>
<h1 v-bind:style="geeks">
{{text3}}
</h1>
<input ref="inputText"
name="inputText"
type="text"
placeholder='Type Text Here' />
<button v-on:click="firstBtn">
Submit
</button>
<h3>
This is one way binding : {{text1}}
</h3>
<!--We can avoid re-rendering the data model,
then use v-once directive -->
<h3 v-once>
This content can bind only once : {{text2}}
</h3>
</div>
<script src='app.js'></script>
</body>
</html>
JavaScript
const firstApp = new Vue({
el: '#firstApp',
data: {
text1: 'Change the text by Event handler',
text2: 'Never Change',
text3: 'GeeksforGeeks',
geeks: {
color: "green",
fontSize: "30px",
fontWeight: "bold"
}
},
methods: {
firstBtn: function () {
const message = this.$refs.inputText.value;
this.text1 = message;
this.text2 = message;
}
}
});
Output:
One-way data bindingTwo-Way data binding: In two-way data binding, DOM automatically updates when the data Model is changed. It will help you to sync your data with your DOM without triggering events. If the data is modified/manipulated by the user, simultaneously the changes will be reflected directly to both the business logic(Model) and the presentation layer(View). Vue.js using v-model directive for two-way data binding. The v-model directive is used for reactive data binding, as it is used internally inside the HTML attributes which can bind along with data enclosed by double curly braces.
Syntax: Whenever we enter a value in input field, it will rendering automatically inside <p> tag
<input v-model="name" />
<p>{{name}}</p>
Example 2: In the below example, we are binding data attributes using the v-model directive in the input Textbox and radio Buttons for two-way data flow. The v-model elements render simultaneously when the input fields of the text box and radio buttons will be changed. Additionally, we use a Reset button for clearing data fields which are triggered by a mouse click event. Use HTML code "⭐ " for add the stars ⭐ icon.
HTML
<!DOCTYPE html>
<html>
<head>
<title>
Two-way binding in VueJS
</title>
<script src=
"https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.js">
</script>
</head>
<body>
<div id='firstApp'>
<input v-model="sampleText"
name="name"
type="text"
placeholder='Type Text Here' />
<button v-on:click="firstBtn">
Reset
</button>
<h1>
This is Two way binding: {{sampleText}}
</h1>
<p>rate this content</p>
<label>
<input type="radio"
value="⭐ good"
v-model="rating" />good
</label>
<label>
<input type="radio"
value="⭐⭐ very good"
v-model="rating" />
very good
</label>
<label>
<input type="radio"
value="⭐⭐⭐ excellent"
v-model="rating" />
excellent
</label>
<!-- Two-way data binding to rendering "rating" data model
automatically using v-model directive in input field --->
<p v-if=rating>
Rating : {{rating}}
</p>
</div>
<script src='app.js'></script>
</body>
</html>
JavaScript
const firstApp = new Vue({
el: '#firstApp',
data: {
sampleText: '',
rating: ''
},
// This method will clears the data
// fields using button event click
methods: {
firstBtn: function () {
this.sampleText = '';
this.rating = '';
}
}
});
Output:
Two-way data binding
Difference between one-way data & two-way data binding:
One-way data binding | Two-way data binding |
---|
It optimizes the update performance by rendering the element and component unidirectional.
| It optimizes the update performance by rendering the element and component are bidirectionally synchronized
|
The data is just bound to the DOM, using custom code to trigger DOM changes
| data is bound from DOM. When DOM gets changed, the data also gets changed.
|
It follows static binding in the data model
| It follows Dynamic binding in the data model
|
UI may need an event handler to update the data model.
| It makes reactive binding between DOM and the data model
|
Similar Reads
Vue.js Tutorial Vue.js is a progressive JavaScript framework for building user interfaces. It stands out for its simplicity, seamless integration with other libraries, and reactive data binding.Built on JavaScript for flexible and component-based development.Supports declarative rendering, reactivity, and two-way d
4 min read
Basics
Vue.js Introduction & InstallationVue JS is a JavaScript framework used to design and build user interfaces. It is one of the best frameworks for Single Page Web Applications. It is compatible with other libraries and extensions as well. In the development field, there may be so many issues that can not be solved by using a single l
2 min read
Vue.js InstancesA Vue.js application starts with a Vue instance. The instances object is the main object for our Vue App. It helps us to use Vue components in our application. A Vue instance uses the MVVM(Model-View-View-Model) pattern. The Vue constructor accepts a single JavaScript object called an options object
2 min read
Vue.js WatchersA Watcher in Vue.js is a special feature that allows one to watch a component and perform specified actions when the value of the component changes. It is a more generic way to observe and react to data changes in the Vue instance. Watchers are the most useful when used to perform asynchronous opera
3 min read
Vue.js MethodsA Vue method is an object associated with the Vue instance. Functions are defined inside the methods object. Methods are useful when you need to perform some action with v-on directive on an element to handle events. Functions defined inside the methods object can be further called for performing ac
2 min read
Vue.js Event ModifiersVue.js is a progressive javascript framework for developing web user interfaces. It is a performant, approachable, and versatile framework. We can create Single Page Applications as well as Full Stack applications. It is built on top of HTML, CSS, and Javascript which makes it easier for developers
3 min read
Vue.js DOM treeVue.js is a javascript framework that is used in building static as well as dynamic webpages and User Interfaces. It offers many lucrative features for developers to use. For example, virtual DOM, component architecture, directives, templates, event binding, and many more. Document Object Model (DOM
4 min read
How to write and use for loop in Vue js ?Vue.js is one of the best frameworks for JavaScript like ReactJS. The VueJS is used to design the user interface layer, it is easy to pick up for any developer. It is compatible with other libraries and extensions as well. If you want to create a single-page application then VueJS is the first choic
4 min read
Vue.js Two Way Binding ModelVue.js is a progressive framework for building user interfaces. The core library is focused on the view layer only and is easy to pick up and integrate with other libraries. Vue is also perfectly capable of powering sophisticated Single-Page Applications in combination with modern tooling and suppor
2 min read
Vue.js Reusing ComponentsVue.js is a progressive javascript framework for developing web user interfaces. It is a performant, approachable, and versatile framework. We can create Single Page Applications as well as Full Stack applications. It is built on top of HTML, CSS, and Javascript which makes it easier for developers
4 min read
Vue.js List RenderingVue.js is a progressive framework for building user interfaces. The core library is focused on the view layer only and is easy to pick up and integrate with other libraries. Vue is also perfectly capable of powering sophisticated Single-Page Applications in combination with modern tooling and suppor
4 min read
Vue.js List Rendering Mutation MethodsVue.js is a progressive framework for building user interfaces. The core library is focused on the view layer only and is easy to pick up and integrate with other libraries. Vue is also perfectly capable of powering sophisticated Single-Page Applications in combination with modern tooling and suppor
3 min read
Vue.js v-cloak DirectiveThe v-cloak directive is a Vue.js directive that will remain on the element until the associated Vue instance finishes compilation. Combined with CSS rules such as [v-cloak] { display: none }, this directive can be used to hide uncompiled mustache bindings until the Vue instance is ready. First, we
1 min read
Vue.js Passing Data to Child Components with PropsVue.js is a progressive javascript framework for developing web user interfaces. It is a performant, approachable, and versatile framework. We can create Single Page Applications as well as Full Stack applications. It is built on top of HTML, CSS, and Javascript which makes it easier for developers
3 min read
Vue.js Form Input Binding with Select optionVue.js is a progressive javascript framework for developing web user interfaces. It is a performant, approachable, and versatile framework. We can create Single Page Applications as well as Full Stack applications. It is built on top of HTML, CSS, and Javascript which makes it easier for developers
3 min read
Vue.js Dynamic ComponentsVue.js is a progressive javascript framework for developing web user interfaces. It is a performant, approachable, and versatile framework. We can create Single Page Applications as well as Full Stack applications. It is built on top of HTML, CSS, and Javascript which makes it easier for developers
3 min read
Vue.js Form Input Value BindingVue.js is a progressive javascript framework for developing web user interfaces. It is a performant, approachable, and versatile framework. We can create Single Page Applications as well as Full Stack applications. It is built on top of HTML, CSS, and Javascript which makes it easier for developers
5 min read
Vue.js Form Input Binding number ModifierVue.js is a progressive javascript framework for developing web user interfaces. It is a performant, approachable, and versatile framework. We can create Single Page Applications as well as Full Stack applications. It is built on top of HTML, CSS, and Javascript which makes it easier for developers
2 min read
Vue.js List Rendering v-for with v-ifVue.js is one of the best frameworks for JavaScript like React JS. The Vue JS is used to design the user interface layer, it is easy to pick up for any developer. It is compatible with other libraries and extensions as well. In order to repeat a task for a fixed amount of time, we make use of the f
3 min read
Vue.js List Rendering v-for with a RangeVue.js is one of the best frameworks for JavaScript like React JS. The Vue JS is used to design the user interface layer, it is easy to pick up for any developer. It is compatible with other libraries and extensions as well. The Vue JS is supported by all popular browsers like Chrome, Firefox, IE, S
3 min read
Vue.js Form Input Binding with Checkbox optionVue.js is a progressive javascript framework for developing web user interfaces. It is a versatile framework providing high speed and performance. We can create Single Page Applications as well as Full Stack applications.Input Binding is used to sync and maintain the state of form input elements wit
2 min read
Vue.js Form Input Binding with Multiline textVue.js is a progressive javascript framework for developing web user interfaces. It is a versatile framework providing high speed and performance. Â We can create Single Page Applications as well as Full Stack applications.Input Binding is used to sync and maintain the state of form input elements wi
2 min read
Vue.js Form Input Binding trim ModifierVue.js is a progressive javascript framework for developing web user interfaces. It is a versatile framework providing high speed and performance. Â We can create Single Page Applications as well as Full Stack applications.Input Binding is used to sync and maintain the state of form input elements wi
2 min read
Vue.js Form Input Binding with Radio OptionVue.js is a progressive javascript framework for developing web user interfaces. It is a versatile framework providing high speed and performance. We can create Single Page Applications as well as Full Stack applications.Input Binding is used to sync and maintain the state of form input elements wit
3 min read
Vue.js List Rendering v-for with an ObjectVue.js is a progressive framework for building user interfaces. The core library is focused on the view layer only and is easy to pick up and integrate with other libraries. Vue is also perfectly capable of powering sophisticated Single-Page Applications in combination with modern tooling and suppor
3 min read
Vue.js Render Function with h() ArgumentsVue.js is a progressive javascript framework for developing web user interfaces. It is a performant, approachable, and versatile framework. We can create Single Page Applications as well as Full Stack applications. It is built on top of HTML, CSS, and Javascript which makes it easier for developers
3 min read
Vue.js Composition API with TemplatesVue.js is a progressive javascript framework for developing web user interfaces. It is a versatile framework providing high speed and performance. We can create Single Page Applications as well as Full Stack applications. The Composition API allows author to Vue components using imported functions r
3 min read
Vue.js Event HandlingVue.js is an open-source ModelâViewâViewModel front-end JavaScript framework for building user interfaces and single-page applications. Vue.js has many own directives for DOM manipulation such as v-bind, v-on, v-model, etc. In this article, we will see how to handle the events and their Implementati
11 min read
Vue.js Declarative RenderingVue.js is a progressive framework for building user interfaces. The core library is focused on the view layer only and is easy to pick up and integrate with other libraries. Vue is also perfectly capable of powering sophisticated Single-Page Applications in combination with modern tooling and suppor
2 min read
Create a Hover effect in Vue.jsVue is a progressive framework for building user interfaces. The core library is focused on the view layer only and is easy to pick up and integrate with other libraries. Vue is also perfectly capable of powering sophisticated Single-Page Applications in combination with modern tooling and supportin
1 min read
Types of data binding with template in Vue.jsIn this article, we will see different ways to bind data with the template in Vue.js, along with understanding their implementation through the examples. When we wish to utilize our variables or data within the template, we generally use the mustache syntax(double curly braces). However, this isn't
8 min read
Vue.js Click EventVue.js is a progressive framework for building user interfaces. The core library is focused on the view layer only and is easy to pick up and integrate with other libraries. Vue is also perfectly capable of powering sophisticated Single-Page Applications in combination with modern tooling and suppor
2 min read
Pass data between components using Vue.js Event BusComponent communication in Vue.js can become complicated and messy at times using $emit and props. In real-world applications where the Component tree is nested and big, it is not convenient to pass data using this method as it will only increase the complexity of the application and make debugging
3 min read
Vue.js Render Functions Component VNodes creationVue.js is a progressive javascript framework for developing web user interfaces. It is a performant, approachable, and versatile framework. We can create Single Page Applications as well as Full Stack applications. It is built on top of HTML, CSS, and Javascript which makes it easier for developers
2 min read
Vue.js List Entering & Leaving TransitionsVue.js is a progressive javascript framework for developing web user interfaces. It is a versatile framework providing high speed and performance. Â We can create Single Page Applications as well as Full Stack applications.The Entering and Leaving Transitions are used to perform the animation on list
3 min read
Vue.js Composition API using ProvideVue.js is a progressive javascript framework for developing web user interfaces. It is a performant, approachable, and versatile framework. We can create Single Page Applications as well as Full Stack applications. It is built on top of HTML, CSS, and Javascript, making it easier for developers to i
3 min read
Vue.js List Move TransitionsVue.js is a progressive JavaScript framework for developing web user interfaces. It is a versatile framework providing high speed and performance. We can create Single Page Applications as well as Full Stack applications.The Vue.js List Move Transitions smooths the transition when an element is adde
3 min read
Vue.js Transitioning between the ComponentsVue.js is a progressive javascript framework for developing web user interfaces. It is a performant, approachable, and versatile framework. We can create Single Page Applications as well as Full Stack applications. It is built on top of HTML, CSS, and Javascript which makes it easier for developers
3 min read
REST API Call to Get Location Details in Vue.jsIn this article, we will know the REST API call to get the location details in VueJS, along with understanding its implementation through the examples.VueJS is one of the best frameworks for JavaScript like ReactJS. The VueJS is used to design the user interface layer, it is easy to pick up for any
7 min read
Transition
Directives
Vue.js Conditional RenderingVue.js is a progressive framework for building user interfaces. The core library is focused on the view layer only and is easy to pick up and integrate with other libraries. Vue is also perfectly capable of powering sophisticated Single-Page Applications in combination with modern tooling and suppor
2 min read
Vue.js List Rendering v-for with a ComponentVue.js is one of the best frameworks for JavaScript like ReactJS. The VueJS is used to design the user interface layer, it is easy to pick up for any developer. In order to repeat a task for a fixed amount of time, we make use of the for loop. The Components are used to build the combination of UI
3 min read
Vue.js List Rendering v-for on a <template>Vue.js is one of the best frameworks for JavaScript like React JS. The Vue JS is used to design the user interface layer, it is easy to pick up for any developer. It is compatible with other libraries and extensions as well. In order to repeat a task for a fixed amount of time, we make use of the fo
3 min read
Vue.js | v-if directiveThe v-if directive is a Vue.js directive used to toggle the display CSS property of a element with a condition. If the condition is true it will make it visible else it will make it invisible. First, we will create a div element with id as app and let's apply the v-if directive to this element with
2 min read
Vue.js | v-text directiveThe v-text directive is a Vue.js directive used to update a elementâs textContent with our data. It is just a nice alternative to Mustache syntax. First, we will create a div element with id as app and let's apply the v-text directive to this element with data as a message. Now we will create this m
1 min read
Vue.js | v-show directiveThe v-show directive is a Vue.js directive used to toggle the display CSS property of a element with our data via inline styles. If the data is true it will make it visible else it will make it invisible. First, we will create a div element with id as app and let's apply the v-show directive to this
2 min read
Vue.js | v-html directiveThe v-html directive is a Vue.js directive used to update a elementâs inner HTML with our data. This is what separates it from v-text which means while v-text accepts string and treats it as a string it will accept string and render it into HTML. First, we will create a div element with id as app an
2 min read
Vue.js v-on:click directiveThe v-on:click directive is a Vue.js directive used to add a click event listener to an element. First, we will create a div element with id as app and let's apply the v-on:click directive to a element. Further, we can execute a function when click even occurs.Syntax:v-on:click="function"Parameters:
1 min read
Vue.js v-once DirectiveThe v-once directive is a Vue.js directive that is used to avoid unwanted re-renders of an element. It treats the element as a static content after rendering it once for the first time. This improves performance as it does not have to be rendered again. First, we will create a div element with the i
1 min read
Vue.js v-on:click.ctrl DirectiveThe v-on:click.ctrl directive is a Vue.js directive used to add a click event listener to an element. While click directive triggers the event for all kinds of clicks, this directive only triggers the event when the ctrl key is pressed along with the click. First, we will create a div element with i
2 min read
Vue.js v-on:click.right DirectiveThe v-on:click.right directive is a Vue.js directive used to add a click event listener to an element. While click directive triggers the event for all kind of clicks, this directive only triggers the event when right key of mouse is clicked. First, we will create a div element with id as app and le
1 min read
Vue.js v-on:click.shift DirectiveThe v-on:click.shift directive is a Vue.js directive used to add a click event listener to an element. While click directive triggers the event for all kind of clicks, this directive only triggers the event when shift key is pressed along with the click. First, we will create a div element with id a
1 min read
Vue.js v-on:click.left DirectiveThe v-on:click.left directive is a Vue.js directive used to add a click event listener to an element. While click directive triggers the event for all kind of clicks, this directive only triggers the event when left key of mouse is clicked. First, we will create a div element with id as app and let'
1 min read
Vue.js v-on:click.alt DirectiveThe v-on:click.alt directive is a Vue.js directive used to add a click event listener to an element. While click directive triggers the event for all kind of clicks, this directive only triggers the event when alt key is pressed along with the click. First, we will create a div element with id as ap
1 min read
How a View-model works in Vue.js?Vue.js is a front-end progressive javascript framework for building User Interfaces ( UI ) and Single Page Applications. This framework focuses on Model â View â ViewModel architecture pattern that connects the View ( User Interface ) and the Model ( Data Objects ). Vue.js uses many built-in directi
4 min read
v-on:click.middle Directive in Vue.jsv-on:click.middle directive is a Vue.js directive used to add a click event listener to an element. While click directive triggers the event for all kind of clicks, this directive only triggers the event when middle key of mouse is clicked. First, we will create a div element with id as app and let'
1 min read
Vue.js v-pre DirectiveThe v-pre directive is a Vue.js directive used to skip compilation for this element and all its children. You can use this for displaying raw mustache tags. First, we will create a div element with id as app and let's apply the v-pre directive to an element. Further, we can use a heading element to
1 min read
Vue.js Form Input Binding lazy ModifierVue.js is a progressive javascript framework for developing web user interfaces. It is a performant, approachable, and versatile framework. We can create Single Page Applications as well as Full Stack applications. It is built on top of HTML, CSS, and Javascript which makes it easier for developers
3 min read
Data Conversion to KB, MB, GB, TB using Vue.js filtersIn this article, we are going to learn how to convert data to the given unit of data using filters in VueJS. Filters are a functionality provided by Vue components that let you apply formatting and transformations to any part of your template dynamic data. The filter property of the component is an
2 min read
Convert decimal point numbers to percentage using filters in Vue.jsVue is a progressive framework for building user interfaces. The core library is focused on the view layer only and is easy to pick up and integrate with other libraries. Vue is also perfectly capable of powering sophisticated Single-Page Applications in combination with modern tooling and supportin
2 min read
Capitalizing a string using filters in VueJSVue.js is a progressive framework for building user interfaces. The core library is focused on the view layer only and is easy to pick up and integrate with other libraries. Vue is also perfectly capable of powering sophisticated Single-Page Applications in combination with modern tooling and suppor
2 min read
Vue.js Placeholder using filtersVue.JS filters are a functionality provided by Vue components that let you apply formatting and transformations to any part of your template dynamic data. The filter property of the component is an object. A single filter is a function that accepts a value and returns another value. The returned val
3 min read
Truncate a String using filter in Vue.jsIn this article, we are going to learn how to truncate strings using filters in VueJS. Filters are a functionality provided by Vue components that let you apply formatting and transformations to any part of your template dynamic data. The filter property of the component is an object. A single filte
2 min read
Filters
Routing
What is the difference between one-way data flow and two-way data binding in vue.js? Vue.js is an open-source front-end JavaScript framework for building user interfaces and single-page applications. It follows Model-View-ViewModel (MVVM) architecture pattern. Vue.js has many in-built directives for DOM manipulation such as v-bind, v-on, v-model, etc. In this article, we will learn
7 min read
Difference Between