vue.js跳转路由问题

有两个问题..谢谢大家
1.有2个组件:
A组件3个列表.
B组件ready()下ajax请求数据.
在A组件点击第二个列表,进入B组件,然后ajax自动请求数据就是第二个列表下的数据,再回到A组件,再点击第一个列表进入B组件,没有请求数据..还是第二个列表的数据,请问该怎么改能再次请求呢?
2.A的第二个列表进入B组件后,路由url是/card/2,再进入其它组件,就变成/card/:cardID/xxx了,不是2了,必须要回到A组件再进才能变回数字,应该怎么改?

下面图是路由配置:

clipboard.png

阅读 8.4k
1 个回答

问题一的原因是,router默认重用你的组件,所以你的B组件的ready事件只会调用一次,也就是第一次进入B组件的时候,所以你的请求只发生了一次。解决方法有二:1.在B组件route hooks选项中配置canReuse为false,这样B组件每次都重新实例化,ready每次都调用;2.ajax从ready中移到route选项中的data配置中,关于data hook的解释就是,用来加载数据:

It is also called when the route has changed and the current component is reused. Use this hook to load and set data on the current component.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏