ng-docs.github.io icon indicating copy to clipboard operation
ng-docs.github.io copied to clipboard

懒加载 skipLocationChange不起作用

Open liaimincq opened this issue 4 years ago • 9 comments

使用懒加载 和 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不会变。

1 2 3 4 5 6

liaimincq avatar Jun 11 '20 09:06 liaimincq

建议提供路由配置(包括组件内Router相关使用代码),另外如果是开源轮子可以发地址我看下

wszgrcy avatar Jun 12 '20 00:06 wszgrcy

ly1 ly2 lu3

liaimincq avatar Jun 12 '20 05:06 liaimincq

那就所有跳转,都带上skipLocationChange就可以了

wszgrcy avatar Jun 12 '20 14:06 wszgrcy

我现在点击菜单跳转都加了skipLocationChange,还要在哪里加呢

liaimincq avatar Jun 15 '20 01:06 liaimincq

https://angular.cn/api/router/RouterLink

wszgrcy avatar Jun 15 '20 14:06 wszgrcy

我用的navigateByUrl; addtag

addtaghtml

liaimincq avatar Jun 16 '20 01:06 liaimincq

我用的navigateByUrl; addtag

addtaghtml

如果你所有的可跳转的代码都在这,写了参数,没有依靠routerLink跳转的话,那么不清楚了, 有可能是nz内部实现的跳转?

wszgrcy avatar Jun 16 '20 09:06 wszgrcy

是不是懒加载第一次加载模块的时候要刷新页面,刷新页面时自动显示了上一次访问的url地址 (这个地址不知道记录在哪里的,能否在显示前手动更改或者需要配置什么参数); routerlinek 怎么使用skipLocationChange呢,我可以试试routerlinek

liaimincq avatar Jun 17 '20 01:06 liaimincq

是不是懒加载第一次加载模块的时候要刷新页面,刷新页面时自动显示了上一次访问的url地址 (这个地址不知道记录在哪里的,能否在显示前手动更改或者需要配置什么参数); routerlinek 怎么使用skipLocationChange呢,我可以试试routerlinek

如果你有用routerLink指令,那么需要加入输入属性skipLocationChange如果你连用都没用,就没这个事了.应该跟懒加载无关,因为你本身地址就没有被记录在案,那么按道理来说刷新应该回首页的 只有一种情况地址会被保留,那就是你知道这个模块怎么进,于是你手动敲上去,然后跳转了,这时因为没走 ng的相关逻辑,所以地址会被保留 但是你说都是通过Router跳转的,相关跳转方法也设置了参数,我就不知道是哪的问题了

wszgrcy avatar Jun 17 '20 05:06 wszgrcy