2017-01-24 40 views
1

我的工作我的Vue.js应用程序,并且通过API与vuex路由器同步获取数据的麻烦。如何在vuex中正确地从API获取数据?

正如我在每一个教程或样品所看到的,它是派遣上created组件钩商店动作平常的事。在我的情况下,它似乎并不是一个选项,这是为什么:

我使用标准vue路由器为我的路由,当我在页面之间导航不仅我的内容应该改变,而且我的侧栏和标题。因此,我实现了一个名为路由器视图的概念,如

routes: [{ 
     path: '/', 
     components: { 
     page: Home, 
     sidebar: GeneralSidebar, 
     header: HomeHeader 
     } 
    }, { 
     path: '/game/:id', 
     name: 'game', 
     components: { 
     page: Game, 
     sidebar: GameSidebar, 
     header: GameHeader 
     } 
    }] 

但本场比赛,GameHeader和GameSidebar应该分享当前选择的游戏一样吸气。无法确定哪些组件应该分派哪些操作来获取数据。

我试图钩路由器本身上,在beforeEnter,但面临的问题,即在相同航线之间进行导航(在我的情况下,从/game/1/game/2)不会触发beforeEnter

有没有办法,我可以在任何路线勾导航什么办法?或者,也许更好的模式来调度提取行为?

在此先感谢!

+0

你找到一个解决办法?现在有同样的问题,想知道什么概念实际工作 – Conic

回答

0

有很多方法可以做到这一点。例如,您可以通过调度更改来获取通过路由更改加载的某个组件中的数据,以及将数据设置为vuex之后的数据。这完美地完成了这项工作。也请记住,有获取任何组件内部的数据几种方法 - 你可以连接在任何Vue公司的生命周期挂钩。看看这里https://router.vuejs.org/en/advanced/data-fetching.html

有时你也需要一些前期的任何路线变化的数据,在这里你可以使用相同的方法 - 加载Vue应用程序时发出一些请求。

相关问题