问题标签 [angular4-router]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - 使用相同的 URL 参数重新加载 Angular 4+ 路由
我一直在对重新加载 Angular 4+ 路由进行一些研究,看起来首选方法是改为监听组件内的 URL 参数更改并在那里重新初始化组件。
我遇到的问题是在 URL 相同(包括参数)的情况下,试图找到一种 DRY(不要重复自己)方法来使其跨多个组件工作。在 AngularJS 中,使用 UI-router 很简单。
用例:
我有一个可以“浮动”在任何路线上方的通知面板,当单击通知时,它需要转到与之相关的内容 - 这可以是许多不同类型的内容。
例如:/posts/:id
或/groups/:id
或/users/:id
如果用户已经在查看该内容,它不会重新加载和刷新以反映通知的消息。即“John Doe 评论了您的帖子”(用户可能正在查看该帖子的过时版本)或“Jane Doe 接受了您加入某个组的请求”(用户可能正在查看该组的访客视图)。
window.location.reload()
当检测到路由相同并且有效时,我确实考虑过使用,但由于它导致的开销(角度重新初始化、身份验证检查、套接字重新连接等),这是非常不可取的。
任何建议将不胜感激!
angular - 子路由中的参数
在我的 Angular 4 应用程序中,我的路由如下:
ticketBundles/:code/copy
和ticketBundles/:code
如何路由到此特定视图以及如何检索正确的代码?这两个页面不同,所以我需要加载不同的模块。
我有这样的路线:
如何路由到子组件?
我知道查询参数
this.router.navigate(['/ticketBundle', this.code , {action: 'copy'}]);
,但我不希望路径格式如下:
/ticketBundle/1;action=copy
angular - 子路由的角度 4 路由问题
在我的 Angular 4 应用程序中,我的路由有一些问题,可能我错了,目前问题出在这样的路由上path: ':code/copy'
,我可以正确路由到这个组件,但是当我在里面时,如果我重新加载页面, angular 无法加载 css 文件。
在我的 app.routing 中,我有一条路径:
而ticketBundles的结构是这样的:
所以在我的ticket-bundle.routing 我有:
如果我小时候走这条路,path: ':code/copy'
我怎么能找到它?因为如果我这样做,它就无法匹配任何路线。要在某些组件中路由,在 ticket-bundlelist.component 我做:this.router.navigate(['/ticketBundles', code])
如前所述,目前我只对这条路线有一个问题::code/copy
那么我怎样才能更正路由结构以使其正常工作呢?
asp.net-mvc - 带有 asp.net mvc 的 Angular 4 路由(共享布局)
我正在使用 angular 4 的 asp.net mvc 构建一个应用程序。我有一个共享布局,其中包含我页面的所有链接,它是 .cshtml 。当我提供一个将使用角度路由的链接时。但是当我单击该链接时,它不起作用并且页面不显示。
我共享的布局链接代码:
这是我的家庭组件:
这是应用程序路由模块:
angular - Angular 4 动态路由 JSON
我打算通过动态加载路线JSON
。使用下面的代码ngOnInit
getRoutes 方法从 JSON 文件中读取,
但得到错误。
ERROR 错误:未捕获(在承诺中):错误:无法匹配任何路由。网址段:
这是通过参考这个 StackOverflow, 角度 2 延迟加载 - 来自服务器的路由来完成的
我正在尝试实现类似于此处提到的内容, https://github.com/angular/angular-cli/issues/4234
但是注册为代码的一部分(硬编码)可以正常工作。
angular - Angular4路由父>子:导航回父时运行的钩子?
假设我有两个组件及其各自的路线:
- 父组件
/parent
- 子组件
/parent/child
当路由器被告知从子视图导航到“../”时,我正在寻找一种在父节点上触发方法的方法。
我寻找相当于 Ionic 的钩子“viewDidAppear”:
- 它尚未初始化,因为它仍在导航堆栈中
- 它刚刚再次出现在前台,应该会发生一些刷新
感谢您的关注,
angular - 如何设置路线偏好?
我的 Angular 4 应用程序中有多个app.routing.ts
文件。有什么方法可以设置一个文件而不是另一个文件的路由首选项?
angular - Angular 2+ 连续路由参数;最后一个无组件
这里我有一个路由路径,后跟两个路由参数,路由看起来像section/sectionId/dashboardId
:
我需要的是向它添加第三个参数,它是无组件的。我需要将它用作 ID 作为可以传递给我的组件之一的参数。所以我尝试了这个:
我收到了一个拒绝承诺,上面写着“必须提供以下内容之一:组件、redirectTo、children 或 loadChildren”。
所以我添加redirectTo: ':dashboardId'
到:dashboardParam
子路由,我得到“无法重定向到':dashboardId'。找不到':dashboardId'。”
如何添加第三个参数而不出现错误?
angular - 如何替换 Angular 4 中的旧选择器内容或将其重定向到全新页面
我在 Angular 4 中有一个索引页面,登录后,我想替换旧页面内容或至少将其重定向到仪表板。在索引页面上有类似关于我们的内容,在仪表板上有自定义。
我已经尝试过,我认为互联网上的每一件事都像:
angular - Angular 4 - 延迟加载 - 模块路由也不起作用
我的问题是,子路由器不起作用。应用程序模块加载 DashboardModule (并且标题也将被显示)。问题从这里开始。标头中的路由器链接不想加载其他组件。我想要的是 ?路由器链接显示路由器插座之间的“子”组件。感谢帮助。
应用程序路由.module.ts
app.module.ts
app.component.ts
仪表板.module.ts
仪表板-routing.module.ts
仪表板.component.html
header.component.html