Angular 7 不会启动导航,没有看到任何错误。有什么问题的提示吗?
Angular 7 won't start navigation, no errors are seen. Any tips on what's wrong?
我有一个 Angular 7 应用程序,我在其中导航到 link 例如eligibility/1,没有问题,网络选项卡显示出站请求。页面呈现后,尝试导航到 eligibility/2(通过 link 单击)不会发送出站请求。
路由器跟踪显示:
这是路由器导航调用后的Javascript。请注意,返回给 temp 的 promise 显示区域状态为 Null 且值为 Array(0)。
这是区域问题吗?请注意,也没有控制台错误。
如果您的组件初始化过程中只有呼出电话,我不希望网络选项卡中有任何内容。 Angular 应用程序是 SPA,处理您的 eligibility
url 的组件很可能只创建一次,然后在每次后续导航时从内存中加载,直到被销毁。因此,如果您希望在每次导航时完成某些行为,则必须订阅导航事件并在那里完成您的工作。
我有一个简单的 routing example,听起来它的行为与您描述的相似。希望对您有所帮助。
为了在导航到同一个 Url 时刷新页面,您必须这样配置 RouterModule:
@ngModule({
imports: [RouterModule.forRoot(routes, {onSameUrlNavigation: ‘reload’})],
exports: [RouterModule],
})
这将改变您应用程序的整体行为,因此最好订阅 ActivatedRoute 的 params observable:
this.route.params.subscribe((params) => {
console.log(params);
console.log(this.route.snapshot.data);
});
Angular,默认情况下不会刷新已加载的组件。但是可以覆盖该行为,如此处所示。
// Browser is already on /pathName/5102
// We see the proper display which means
// our router paths are correct.
// And now we attempt to go to a new path.
let newLocation = `/pathName/5110`;
// override default re use strategy
this.router
.routeReuseStrategy
.shouldReuseRoute = function () {
return false;
};
this.router
.navigateByUrl(newLocation)
.then(
(worked) => {
// Works only because we hooked
// routeReuseStrategy.shouldReuseRoute
// and explicitly told it don't reuse
// route which forces a reload.
// Otherwise; the url will change but new
// data will not display!
},
(error) => {
debugger;
}
);
我有一个 Angular 7 应用程序,我在其中导航到 link 例如eligibility/1,没有问题,网络选项卡显示出站请求。页面呈现后,尝试导航到 eligibility/2(通过 link 单击)不会发送出站请求。
路由器跟踪显示:
这是路由器导航调用后的Javascript。请注意,返回给 temp 的 promise 显示区域状态为 Null 且值为 Array(0)。
这是区域问题吗?请注意,也没有控制台错误。
如果您的组件初始化过程中只有呼出电话,我不希望网络选项卡中有任何内容。 Angular 应用程序是 SPA,处理您的 eligibility
url 的组件很可能只创建一次,然后在每次后续导航时从内存中加载,直到被销毁。因此,如果您希望在每次导航时完成某些行为,则必须订阅导航事件并在那里完成您的工作。
我有一个简单的 routing example,听起来它的行为与您描述的相似。希望对您有所帮助。
为了在导航到同一个 Url 时刷新页面,您必须这样配置 RouterModule:
@ngModule({
imports: [RouterModule.forRoot(routes, {onSameUrlNavigation: ‘reload’})],
exports: [RouterModule],
})
这将改变您应用程序的整体行为,因此最好订阅 ActivatedRoute 的 params observable:
this.route.params.subscribe((params) => {
console.log(params);
console.log(this.route.snapshot.data);
});
Angular,默认情况下不会刷新已加载的组件。但是可以覆盖该行为,如此处所示。
// Browser is already on /pathName/5102
// We see the proper display which means
// our router paths are correct.
// And now we attempt to go to a new path.
let newLocation = `/pathName/5110`;
// override default re use strategy
this.router
.routeReuseStrategy
.shouldReuseRoute = function () {
return false;
};
this.router
.navigateByUrl(newLocation)
.then(
(worked) => {
// Works only because we hooked
// routeReuseStrategy.shouldReuseRoute
// and explicitly told it don't reuse
// route which forces a reload.
// Otherwise; the url will change but new
// data will not display!
},
(error) => {
debugger;
}
);