Questions tagged «angular2-routing»

角路由是一项内置功能,使您可以创建单页应用程序(SPA)用户界面,用户可以在其中导航到不同的视图,而不必每次都从服务器重新加载整个页面。

8
更改路线参数而无需在Angular 2中重新加载
我正在使用Angular 2,Google Maps等创建房地产网站,并且当用户更改地图中心时,我对API进行搜索,以指示地图的当前位置以及半径。问题是,我想在不重新加载整个页面的情况下将这些值反映在url中。那可能吗?我已经找到了一些使用AngularJS 1.x的解决方案,但是关于Angular 2却一无所获。

6
在离开页面之前警告用户未保存的更改
我想警告用户未保存的更改,然后再离开我的angular 2应用程序的特定页面。通常,我会使用window.onbeforeunload,但是不适用于单页应用程序。 我发现在角度1中,您可以进入$locationChangeStart事件confirm为用户抛出一个框,但是我没有看到任何显示如何使角度2正常工作的东西,或者该事件是否仍然存在。我也看到过为ag1提供功能的插件onbeforeunload,但同样,我还没有看到将其用于ag2的任何方式。 我希望其他人找到了解决该问题的方法;两种方法都可以很好地达到我的目的。

2
编写Karma-Jasmine单元测试用例时出现“错误:路由器没有提供者”
我们已经完成了一个angular2项目的设置,并在内部创建了一个模块(my-module),并在模块内部使用了以下cmd命令创建了一个组件(my-new-component): ng new angular2test cd angular2test ng g module my-module ng generate component my-new-component 创建设置和所有组件后,我们ng test从angular2test文件夹中的cmd 运行了命令。 以下文件是我们的my-new-component.component.ts文件: import { Component, OnInit } from '@angular/core'; import { Router, Routes, RouterModule } from '@angular/router'; import { DummyService } from '../services/dummy.service'; @Component({ selector: 'app-my-new-component', templateUrl: './my-new-component.component.html', styleUrls: ['./my-new-component.component.css'] }) export class MyNewComponentComponent …

3
将参数传递到路径防护中
我正在开发一个具有许多角色的应用程序,我需要使用这些功能来根据这些角色来阻止对应用程序各部分的导航。我意识到我可以为每个角色创建单独的后卫类,但宁愿拥有一个可以以某种方式将参数传递给它的类。换句话说,我希望能够执行以下操作: { path: 'super-user-stuff', component: SuperUserStuffComponent, canActivate: [RoleGuard.forRole('superUser')] } 但是,由于您所传递的只是警卫的类型名称,因此无法考虑实现此目标的方法。我是否应该只是硬着头皮,为每个角色编写单独的后卫班级,而打乱我拥有单一参数化类型的优雅幻想呢?

6
将数据传递到“路由器出口”子组件
我有一个去服务器的父组件并获取一个对象: // parent component @Component({ selector : 'node-display', template : ` <router-outlet [node]="node"></router-outlet> ` }) export class NodeDisplayComponent implements OnInit { node: Node; ngOnInit(): void { this.nodeService.getNode(path) .subscribe( node => { this.node = node; }, err => { console.log(err); } ); } 在以下几种子显示之一中: export class ChildDisplay implements OnInit{ @Input() node: …

15
如何确定Angular中的上一页URL?
假设我当前在具有URL的页面上/user/:id。现在,从此页面导航到下一页:id/posts。 现在有一种方法,这样我就可以检查以前的URL是什么/user/:id。 以下是我的路线 export const routes: Routes = [ { path: 'user/:id', component: UserProfileComponent }, { path: ':id/posts', component: UserPostsComponet } ];

11
“路由器出口”不是已知元素
我有一个带有尖角前端的mvc 5项目。我想按照本教程https://angular.io/guide/router中的描述添加路由。所以在我中_Layout.cshtml我添加了一个 <base href="/"> 并在我的app.module中创建了路由。但是当我运行它时,出现以下错误: Error: Template parse errors: 'router-outlet' is not a known element: 1. If 'router-outlet' is an Angular component, then verify that it is part of this module. 2. If 'router-outlet' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this …

7
Angular 2-路由-CanActivate与Observable一起工作
我有一个实现CanActivate的AuthGuard(用于路由)。 canActivate() { return this.loginService.isLoggedIn(); } 我的问题是,CanActivate-result取决于http-get-result- LoginService返回一个Observable。 isLoggedIn():Observable<boolean> { return this.http.get(ApiResources.LOGON).map(response => response.ok); } 我如何将它们组合在一起-使CanActivate依赖于后端状态? ###### 编辑:请注意,这个问题是从2016年开始的-角/路由器的非常早期阶段已被使用。 ######

8
如何对依赖ActivatedRoute的参数的组件进行单元测试?
我正在对用于编辑对象的组件进行单元测试。该对象具有唯一性id,该唯一性用于从服务中托管的对象数组中获取特定对象。具体id是通过经由路由传递的参数采购,特别是通过ActivatedRoute类。 构造函数如下: constructor(private _router:Router, private _curRoute:ActivatedRoute, private _session:Session) { } ngOnInit() { this._curRoute.params.subscribe(params => { this.userId = params['id']; this.userObj = this._session.allUsers.filter(user => user.id.toString() === this.userId.toString())[0]; 我想在此组件上运行基本的单元测试。但是,我不确定如何注入id参数,并且组件需要此参数。 顺便说一句:我已经对该Session服务进行了模拟,因此不用担心。

1
如何在Angular 2中分页重新加载页面?[关闭]
已关闭。这个问题需要细节或说明。它当前不接受答案。 想改善这个问题吗?添加详细信息并通过编辑此帖子来澄清问题。 3年前关闭。 改善这个问题 如何在Angular 2上重新加载当前页面? 如果iam在第2页(分页)并刷新页面,它将显示第1页(URL pageload),但我希望我刷新第2页,它将出现在第2页中

2
如何以Angular方式在Angular2路线上获取参数?
路线 const appRoutes: Routes = [ { path: '', redirectTo: '/companies/unionbank', pathMatch: 'full'}, { path: 'companies/:bank', component: BanksComponent }, { path: '**', redirectTo: '/companies/unionbank' } ] 零件 const NAVBAR = [ { name: 'Banks', submenu: [ { routelink: '/companies/unionbank', name: 'Union Bank' }, { routelink: '/companies/metrobank', name: 'Metro Bank' }, …

9
Angular2 canActivate()调用异步函数
我正在尝试使用Angular2路由器防护来限制对我的应用程序中某些页面的访问。我正在使用Firebase身份验证。为了检查用户是否与火力地堡登录,我得叫.subscribe()上FirebaseAuth同一个回调对象。这是警卫的代码: import { CanActivate, Router, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router'; import { AngularFireAuth } from "angularfire2/angularfire2"; import { Injectable } from "@angular/core"; import { Observable } from "rxjs/Rx"; @Injectable() export class AuthGuard implements CanActivate { constructor(private auth: AngularFireAuth, private router: Router) {} canActivate(route:ActivatedRouteSnapshot, state:RouterStateSnapshot):Observable<boolean>|boolean { this.auth.subscribe((auth) => { if (auth) …


6
Angular2-“路由器出口”不是已知元素
我创建了具有较深子路径的路径。我添加<router-outlet>了包裹在NgModule中的AdminComponent组件。但是刷新页面后出现此错误: 'router-outlet' is not a known element 可能是因为我忘记将某些模块导入admin.module.ts 请帮忙。谢谢。 app.routes.ts export const routes: Routes = [ { path: '', component: AppComponent, children: [ { path: '', component: LoginComponent }, { path: 'admin', component: AdminComponent }, { path: 'user', component: UserComponent }, { path: 'there', component: ThereComponent } ] } ] …

13
Angular 2:从父组件获取RouteParams
如何从父组件获取RouteParams? App.ts: @Component({ ... }) @RouteConfig([ {path: '/', component: HomeComponent, as: 'Home'}, {path: '/:username/...', component: ParentComponent, as: 'Parent'} ]) export class HomeComponent { ... } 然后,在中ParentComponent,我可以轻松获取用户名参数并设置子路由。 Parent.ts: @Component({ ... }) @RouteConfig([ { path: '/child-1', component: ChildOneComponent, as: 'ChildOne' }, { path: '/child-2', component: ChildTwoComponent, as: 'ChildTwo' } ]) export class …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.