Frontend Development 3 min read

Principles of Two-Way Data Binding in Vue

This article explains the principle of two-way data binding in Vue's MVVM architecture, detailing how Object.defineProperty is used to create observers that track property changes, notify watchers via a dependency collector, and how the compile process links view directives to model updates.

360 Quality & Efficiency
360 Quality & Efficiency
360 Quality & Efficiency
Principles of Two-Way Data Binding in Vue

Two-way data binding in MVVM consists of two main processes: when data changes, the view updates; when the view changes (e.g., user input), the data updates.

Vue achieves data binding by redefining object property accessors with Object.defineProperty , intercepting get and set operations to make data reactive.

The core components are:

Observer : a listener that hijacks all object properties, detects changes, and notifies a dependency manager.

Dep : a message broker that collects all Watcher subscribers for a property.

Watcher : a subscriber that receives change notifications from Dep and executes update functions to refresh the view.

Compile : a directive parser that scans DOM nodes, initializes data, creates corresponding watchers, and binds templates or functions to the view.

The flow can be visualized as: data → Observer → Dep → Watcher → view update, and vice‑versa for view → model.

In Vue's source code, the implementation is split into several files:

Observer.js : defines the observer that uses Object.defineProperty to monitor property changes.

Watcher.js : defines the watcher that reacts to observed changes and updates the DOM.

Compile.js : parses template directives, creates watchers, and binds data to the view.

Mvvm.js : orchestrates the overall MVVM initialization, linking the model, view, and observers together.

Overall, the article provides a conceptual diagram and pseudo‑code illustrating how Vue's data binding mechanism works under the hood.

frontendVueMVVMData BindingObserver
360 Quality & Efficiency
Written by

360 Quality & Efficiency

360 Quality & Efficiency focuses on seamlessly integrating quality and efficiency in R&D, sharing 360’s internal best practices with industry peers to foster collaboration among Chinese enterprises and drive greater efficiency value.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.