问题标签 [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.
javascript - Angular2 组件不检测路由参数更新(Router 3.0)
我有一个小 Plunk,我正在用它来玩 Angular 2 中当前可用的新路由器 3.0 alpha。它通常运行良好,但问题是一旦我点击一个指向“详细信息”的链接具有特定 ID 的组件,当我单击具有不同 ID 的不同链接时,它永远不会改变。该组件永远不会被重新实例化,因此它只会显示它在第一次加载时传递的内容。
这是有问题的组件:
这是演示问题的 Plunk。单击一个作者姓名,然后单击另一个以查看它不会更改。
angular - 为什么 CrisisCenterRoutes 有 Children 属性而 HeroesRoutes 没有?
当您查看 angular 2 hero 示例时:
http://plnkr.co/edit/Zd0qmavTzedtimImAgfQ?p=preview
有危机中心和英雄链接
两者都呈现事物列表,或者您可以通过 id 编辑事物。
但是 RoutesConfig 除了
CrisisCenter 有一个路由子属性:
当我在 angular 2 网站上搜索时:https ://angular.io/docs/ts/latest/glossary.html#!#stq=router&stp=1
对于“儿童”,我不知道儿童财产的用途。
我看大侠RoutesConfig的时候:
没有儿童财产。我也可以在根页面上加载英雄: http ://plnkr.co/edit/Zd0qmavTzedtimImAgfQ?p=preview
那么,儿童财产有什么用呢?
angular - 无法重新加载/刷新活动路由
我最近更新了新的 RC3 和 Router3alpha,似乎有些事情发生了变化。
我注意到单击活动路由的链接不再导致重新加载组件。如何使用新的 router3 实现此行为?
我的链接看起来像
为了测试,我只是在 ngOnInit 中使用了一个随机数:
在路由之间切换时它工作得很好,但是单击当前活动的路由不会导致重新加载组件。
angular - Angular2 路由器 3.0.0-alfa7。无法导航到路线
Angular2 版本:rc3
路由器版本:3.0.0-alfa7
引导.ts:
当我启动应用程序时,路由器重定向到/users并且UserListComponent工作得很好。
我有两个问题:
- 从UserListComponent导航到/users/edit/:id只能通过[routerLink]指令(例如 [routerLink]="['edit', 17]")工作。但是后来我尝试使用路由器本身从UserListComponent导航(例如 router.navigate(['edit', 17]))然后什么也没有发生;
- 从它的子组件导航到/users不起作用。我试过 [routerLink]="['/users']", router.navigate(['/users'])。需要注意的是[routerLink]="['/users']"渲染到一个有效的锚标签:<'a href="http://localhost/users"></'/a>
angular - 如何将参数传递给 URL 内某处的 routerLink?
我知道我可以将参数传递routerLink
给路由,例如
通过写作
但是这样的路线呢:
有没有办法设置这个参数或者我应该考虑一个不同的 URL 方案?
angular - 使用角度路由器 rc3 全局注册路由器指令
我不想为每个组件注册 Router_Directives。
我想像以前一样在全球范围内这样做:
但路由器模块中不存在/导出 ROUTE_PROVIDERS。
如何使用 RC3 路由器做到这一点?
angular - "child" Route path should include parent route path
Thats my route config:
but I want to have it as:
I want that edit/create route prepend the base url 'schoolyears' implicitly during runtime.
How can I achieve this without restructure my components?
UPDATE
Although I use TypeScript I get a runtime exception which should actually happen at compile time:
angular - 如果 routerLink 有绑定,为什么 routerLinkActive 不会触发?
在我的应用程序中,有不止一种方法可以路由到特定资源,例如,我获得了面包屑,以便能够更自由地在项目层次结构中导航
哪里SectionA
有id=1
等等。同时我routerLink
在我的侧边菜单中找到了当前选择的项目,在上面的例子中它指向SectionC
( id=3
)。我通过在有人点击面包屑时发出一个事件来保持这些同步,然后id
将事件绑定到routerLink
我的侧边菜单中:
这样,如果用户导航离开该组件,他们只需单击侧面菜单中的按钮即可返回到相同的状态(而不必从头开始导航到他们的目标部分)。
这实际上工作正常,但是,如果我浏览面包屑(并因此使用section
从上面的绑定)routerLinkActive
不会触发,尽管当前 URL 和侧菜单按钮上的 URL 是相同的。
只有当我直接单击侧面菜单按钮时才active
应用该类,它不能通过绑定起作用。
它适用于没有参数的 URL(那里没有绑定),所以我想这与 Angular 的更改检查有关。
问题是,这是预期的行为吗?如果是,我应该怎么做才能让它正常工作?
angular - Angular2 rc3将路由器注入测试
由于我升级到 Angular2 rc3,任何需要注入路由器的测试现在都失败了。以前我使用的是路由器/测试文件中提供的 ROUTER_FAKE_PROVIDERS,但它似乎不再存在。有什么建议么?
authentication - LoggedInOutlet angular2 authentication - Router v3.0.0-alpha8 - ComponentInstruction 在哪里?
我正在使用这样的代码来扩展 RouterOutlet 并创建应用程序范围的身份验证和路由保护
问题是 ComponentInstruction 在新的 v3.0.0-alpha8 路由器中不存在,并且超级方法签名已更改。如何更新它以在新路由器中工作?我找不到任何解释更改的文档。