1

在我的index.js中,我有一个 Vue 对象,它声明一个路由器并呈现所有页面的持有者。

const app = new Vue({ 
  ..., 
  render: _ => _(App),
  router, 
  ..., 
  el: "#app-base"});

在页面渲染器中,我的组件依次具有它们的子组件等。现在我想访问在最外层声明的路由器实例,并在 toppy subcomponents 之一的上下文中对其进行操作

我怎样才能做到这一点?

它在上下文中并不存在。我需要以某种方式将它传递到树上吗?什么是这样做的好方法?我是否应该避免访问顶部工作组件中底部声明的实例?

4

1 回答 1

1

this.$routeVue 允许您使用变量在 Vue 组件级别访问和修改路由。

然而,这可以通过在根级组件修改路由的通用方法来集中化,并且每当需要从子组件更改时,使用vue-events调用此根级方法。


不能直接访问 child 中 parent 的数据(有方法,但不推荐),但是可以使用$emit调用 parent 的方法,请参见 this fiddle。在 vue 中它是props down, event up用于父子通信

于 2016-12-11T02:47:44.870 回答