Vue $root Object


Example

Using the $root object in a child component, to change the 'text' data property in the root component of the Vue application.

<template>
  <div>
    <h3>Change Text</h3>
    <p>Click the button to toggle the text in the PRE tag of the root component.</p>
    <button v-on:click="this.$root.text='Hello!'">Change text in root</button>
  </div>
</template>
Run Example »

See more examples below.


Definition and Usage

The $root object represents the Vue instance of the root component of the total Vue application.

When the $root object is used in the root component, it simply refers to the instance of that component itself.

We can use the $root object to access the root instance directly from a child component, even far down the component tree structure, to call methods, read or manipulate data properties, and so on.

Note: Consider using props/emit or provide/inject for communication between Vue components instead, because code with these explicitly defined ways of communicating is easier to maintain.


More Examples

Example

Using the $root object in a child component, to change the color of a <p> tag in the root component, more than one level up in the component tree structure.

<template>
  <div>
    <h4>Grand Child Component</h4>
    <p>Click the button to toggle the color of the P tag in the root component.</p>
    <button v-on:click="this.$root.color='lightgreen'">Change color in root</button>
  </div>
</template>
Run Example »

Related Pages

Vue Tutorial: Vue Props

Vue Tutorial: Vue $emit() Method

Vue Tutorial: Vue Provide/Inject

Vue Reference: Vue $emit() Method

Vue Reference: Vue $parent Object


Copyright 1999-2023 by Refsnes Data. All Rights Reserved.