Open liaimincq opened 4 years ago
建议提供路由配置(包括组件内Router相关使用代码),另外如果是开源轮子可以发地址我看下
那就所有跳转,都带上skipLocationChange就可以了
我现在点击菜单跳转都加了skipLocationChange,还要在哪里加呢
我用的navigateByUrl;
我用的navigateByUrl;
如果你所有的可跳转的代码都在这,写了参数,没有依靠routerLink跳转的话,那么不清楚了, 有可能是nz内部实现的跳转?
是不是懒加载第一次加载模块的时候要刷新页面,刷新页面时自动显示了上一次访问的url地址 (这个地址不知道记录在哪里的,能否在显示前手动更改或者需要配置什么参数); routerlinek 怎么使用skipLocationChange呢,我可以试试routerlinek
是不是懒加载第一次加载模块的时候要刷新页面,刷新页面时自动显示了上一次访问的url地址 (这个地址不知道记录在哪里的,能否在显示前手动更改或者需要配置什么参数); routerlinek 怎么使用skipLocationChange呢,我可以试试routerlinek
如果你有用routerLink指令,那么需要加入输入属性skipLocationChange
如果你连用都没用,就没这个事了.应该跟懒加载无关,因为你本身地址就没有被记录在案,那么按道理来说刷新应该回首页的
只有一种情况地址会被保留,那就是你知道这个模块怎么进,于是你手动敲上去,然后跳转了,这时因为没走 ng的相关逻辑,所以地址会被保留
但是你说都是通过Router
跳转的,相关跳转方法也设置了参数,我就不知道是哪的问题了
使用懒加载 和 skipLocationChange,下面是操作步骤和url的显示值
1.第一次进入网站时,显示首页,首页默认路由为空字符 (url:http://localhost:50137);
2.随机跳转模块(A)下的任何一个路由时,url不会变 (这里不会变可能是首页默认的空字符串,url:http://localhost:50137);
3.再次跳转模块(B)下的任何一个路由时,url会变为上一个模块(A)最后一次跳转的路由的url (url:http://localhost:50137/hrcenter/addemployee);
4.最后跳转到模块(A)的任何一个路由,url不会变 (url:http://localhost:50137/hrcenter/addemployee);
跳转同一个模块内的路由时,url地址不会发生改变 (应该是skipLocationChange的作用);
猜测:可能是模块第一次加载的问题。 结果:希望跳转不同模块的路由时url不会变。