问题标签 [angular2-router3]

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.

0 投票
1 回答
1471 浏览

angular - 如何在页面加载/卸载时实现淡入/淡出效果?

我想我已经连接了基本的动画部分,我只需要知道要处理哪些事件。理想情况下,我想要一个可以在导航级别使用的解决方案,这样我就可以包装我的所有组件,但是一个简单的页面加载示例就足够了,非常感谢。我在 SO 上发现了其他几个相关的问题,但它们似乎没有回答我的具体问题或已过时:

Angular 2 路由组件的“幻灯片动画” 带有 Angular 2.0 路由器和组件接口承诺的页面过渡动画

到目前为止,这是我所拥有的:

.html 文件

零件

0 投票
1 回答
1064 浏览

angular - 如何在 Webpack 中使用 AsyncRoute 异步加载组件?

我对如何使异步模块加载在最新的 angular-webpack-starter(带有@angular/router 3.0.0-beta.2 的 RC4)中运行感到迷茫。

包含一个示例,但获得更多解释、做什么以及如何协同工作会很有帮助。

我做了什么: - 我导出了我的惰性组件路由:

然后我在我的父组件路由中导入并使用了子路由:

我为每个组件定义了这样的异步路由:

我从 browser_adapter.js 收到错误:84 导航到 TestApp 时无法读取未定义的属性“路径”。这样做的正确方法是什么?

我还想知道,异步加载的组件名称是否必须对整个应用程序是唯一的?

0 投票
1 回答
77 浏览

angular - 带有路由器 3.0.0-beta.2 的 Angular 2:是否可以在孩子旁边使用通配符?

我想在其他 /parent/child 旁边有一个像 /parent/:id 这样的动态路由。

我尝试了这样的事情但没有成功:

export const routes: RouterConfig = [ { path: '', component: HomeComponent }, { path: 'parent', component: ParentComponent,canActivate: [ WebpackAsyncRoute ], children: [ { path: ':id', component: 'ParamComponent' }, { path: 'child', component: 'ChildComponent' }, { path: 'anotherchild', component: 'AnotherChildComponent' } ] } ];

0 投票
1 回答
654 浏览

angular - Angular 2 使用参数路由当前 url

我正在尝试将 Angular 2 rc-4 与新路由器一起使用。

然后我订阅更改路线事件。当事件触发时,我想从中查找项目

问题在于带有参数的url:

我不知道如何将其与当前页面 url 进行比较或如何询问 RouterConfig。

你能帮我么?

0 投票
7 回答
80497 浏览

angular - 如何作为模块的子模块路由到模块 - Angular 2 RC 5

我正在将我正在开发的应用程序升级到最新的 Angular 2 候选版本。作为这项工作的一部分,我尝试使用 NgModule 规范并将我的应用程序的所有部分迁移到模块。在大多数情况下,除了路由问题之外,这一切都非常顺利。

我的应用程序是作为模块的组合构建的,几个模块作为父模块的子模块粘合在一起。例如,我有一个由通知模块、用户模块和电话模块组成的管理模块(例如)。这些模块的路由应该看起来像......

在路由器的早期版本中,使用“children”很容易做到这一点

在另一个文件中,作为子模块的一部分,我还将定义各个模块路由,即

这一切都很好。在升级到 Modules 的过程中,我将所有内容都移到了各自的路由文件中,所以现在这两个看起来更像这样

完成所有这些后,我有一个导入 userRouting 的 UsersModule,然后是一个导入 adminRoutes 和 UsersModule 的 AdminModule。我的想法是,由于 UsersModule 是 AdminModule 的子模块,因此路由将按照以前的方式工作。不幸的是,事实并非如此,所以我最终得到的用户路线只是

代替

此外,因此,新用户组件不会加载到我的管理组件的路由器出口中,这会影响我的应用程序的样式和导航。

我一辈子都想不出如何将我的 UserModule 的路由引用为我的 AdminModule 的子级。我已经尝试过用旧方法来做这件事,并得到关于两个模块中的路由的错误。显然,由于这是新发布的,围绕其中一些案例的文档有点有限。

任何人都可以提供的任何帮助将不胜感激!

0 投票
3 回答
34105 浏览

angular - ActivatedRoute 没有提供者 - Angular 2 RC5

升级到 Angular 2 RC5(从 RC4)后,我似乎无法再注入ActivatedRoute到我的组件中。

原始例外:ActivatedRoute 没有提供者!

这是相关的代码:

这是我的app.module.ts

我检查了“英雄之旅”示例,他们做了完全相同的事情,没有提供者声明,ActivatedRoute所以我想知道这里发生了什么?

0 投票
1 回答
4793 浏览

angular - Angular 2 RC5/Router 3 RC1 中嵌套模块的路由

假设我有以下设置:

我希望我的路线看起来像

所以我继续定义这些路由声明:

app.routing.ts

员工路由.ts

sales.routing.ts

而我的模块采用这种形式:

app.module.ts

员工模块.ts

sales.module.ts

我现在可以搬到

但如果我尝试导航到

我受到了欢迎

错误:无法匹配任何路线:'employee/14/sales'

但是,我可以输入

这在它不应该工作的情况下工作,所以不知何故,所有路线都直接连接到/而不是建立在彼此之上。

我错过了什么?

可以在此处找到演示该问题的编辑plnkr 。

0 投票
2 回答
852 浏览

angular - 辅助路由如何在 Angular2 RC5/Router3 RC1 中工作?

网络上几乎没有任何关于辅助路线的信息,更不用说 RC5/RC1,我希望 SO 上的某个人设法让他们工作(他们应该已经修复了,或者我听说过,但仅此而已) .

我得到以下路由声明:

这是routerLinkoutleton ContactsComponent

但是,这只会导致错误消息,例如

错误:无法匹配任何路由:'contacts/form%3Anew'

有人有 Angular2 RC5/Router3 RC1 的工作示例吗?

0 投票
2 回答
407 浏览

angular - Angular2 RC5 - 完成加载配置文件后的路由

我正在使用 RC5 编写 Angular2 应用程序。

当 AppComponent 加载时,我希望应用程序使用 http 请求配置文件,并且一旦加载,我希望应用程序导航到指定的路由?

我怎样才能做到这一点?

每条路线上都有“canActivate”属性,但如果我想在每次用户导航到新路线时做一些事情,我会发现它与它有更多关系。主要用于身份验证目的,您只希望通过身份验证保护少数路由,但在我的情况下,我想在 AppComponent 加载时加载配置。不是在每条路线激活或导航上。

希望我让自己清楚我想要实现的目标。

0 投票
2 回答
382 浏览

angular - angular 2 路由器 3.0.0-rc.1 停用保护路由组

我想创建一个仅在子路线之外导航时触发的停用守卫。

在 rc4 ("@angular/router": "3.0.0-beta.1") 中,此代码按描述工作:

在此示例中,从 XComponent 导航到 YComponent 不会触发停用保护,但例如导航到“someNotChildComponent”会触发。

更新到@angular/route 3.0.0-rc.1 后,每次路径更改都会触发防护。什么是正确的行为?有没有更好的方法来处理这种情况?