有两个问题..谢谢大家
1.有2个组件:
A组件3个列表.
B组件ready()下ajax请求数据.
在A组件点击第二个列表,进入B组件,然后ajax自动请求数据就是第二个列表下的数据,再回到A组件,再点击第一个列表进入B组件,没有请求数据..还是第二个列表的数据,请问该怎么改能再次请求呢?
2.A的第二个列表进入B组件后,路由url是/card/2,再进入其它组件,就变成/card/:cardID/xxx了,不是2了,必须要回到A组件再进才能变回数字,应该怎么改?
下面图是路由配置:
有两个问题..谢谢大家
1.有2个组件:
A组件3个列表.
B组件ready()下ajax请求数据.
在A组件点击第二个列表,进入B组件,然后ajax自动请求数据就是第二个列表下的数据,再回到A组件,再点击第一个列表进入B组件,没有请求数据..还是第二个列表的数据,请问该怎么改能再次请求呢?
2.A的第二个列表进入B组件后,路由url是/card/2,再进入其它组件,就变成/card/:cardID/xxx了,不是2了,必须要回到A组件再进才能变回数字,应该怎么改?
下面图是路由配置:
5 回答7.1k 阅读✓ 已解决
5 回答8.2k 阅读
2 回答10.3k 阅读✓ 已解决
2 回答12.6k 阅读✓ 已解决
2 回答10.4k 阅读✓ 已解决
1 回答5.1k 阅读✓ 已解决
4 回答6.1k 阅读
问题一的原因是,router默认重用你的组件,所以你的B组件的ready事件只会调用一次,也就是第一次进入B组件的时候,所以你的请求只发生了一次。解决方法有二:1.在B组件route hooks选项中配置canReuse为false,这样B组件每次都重新实例化,ready每次都调用;2.ajax从ready中移到route选项中的data配置中,关于data hook的解释就是,用来加载数据: