Vue:获取子组件中的路由器实例

时间:2017-01-14 10:07:54

标签: javascript vue.js frontend vue-router

我正在使用Vue.js和vue-router,我试图浏览点击事件。

根据vue-router documentation我应该使用router.push(name) API函数。

问题是路由器在App根组件中初始化,我想从其中一个App组件子进行导航。

有没有办法从this.$root或类似的东西中获取路由器的漏洞?

3 个答案:

答案 0 :(得分:4)

正如official guide中所述,每个组件都注入了this.$routerthis.$route个对象,可以通过组件内的this.$router.push({path: 'thepath'}); <router-link :to="{path: 'thepath'}">The link</router-link> 访问它们

如果您想从组件javascript代码导航,只需执行以下操作:

POJO

如果您想从模板导航,可以使用:

Person.java

vue-router documentation上有一些使用示例。

答案 1 :(得分:3)

是的,有一种非常简单的方法 - 如果您根据automatically injected中的说明对this.$router进行配置,则document.addEventListener('DOMContentLoaded', function(){ document.getElementById("Button1").onclick = function(){ document.getElementById("box").style.height='200px'; //document.getElementById("box").style.height='200%'; }; }, false); $router {。}}。

答案 2 :(得分:0)

如果您使用的是Vue.js 2(从@jeerbl回答编辑)

,请尝试此操作
<router-link :to="{path: 'thepath'}">The link</router-link>