从Vue根方法更改组件中的数据

时间:2017-05-12 02:29:35

标签: vue.js vuejs2 vue-component

我需要通过Vue根目录中的方法更改组件中的值。

我的结构如下:

Root
  PostAnswer
    data:
      valueToChange: 'Blah blah blah'

我的方法工作正常,但我无法做到这一点。

我已经阅读了使用$ emit但我无法在此实例中使用它。基本上我需要这样的东西:

$root.PostAnswer.data.valueToChange = null;

1 个答案:

答案 0 :(得分:2)

你绝对应该使用活动。

在root中只发出一个事件,然后在组件中捕获它。

例如: 在路线:

window.Event = new Vue();

当您要重置组件中的值时,比您发出(仍在根目录中):

Event.$emit('reset');

在组件中:

mounted() {
  Event.$on('reset', () => {
    valueToChange = null;
  });
}