标签: angular-routerlink

Angular 8 - URL 使用 routerLink 加载,但在 LOCALHOST 的浏览器中直接访问时不显示

我开发了 Angular 8 应用程序,我正在使用 routerLink 来导航组件,这些组件工作正常,没有任何问题,但是当我直接在浏览器中输入相同的 URL 时,它没有显示任何内容,并且在控制台中,我看到了错误如下

在此处输入图片说明

例如,我打开主页http://localhost:4200/home并在此处添加了 routerLink 以转到http://localhost:4200/about并且我将能够成功查看但如果我输入 URL http ://localhost:4200/about直接在 ULR 里什么都没有显示

我已经处理了 app-routing.model.ts

const routes: Routes =
    [
        { path: 'home', component: HomeComponent },
        { path: 'about', component: AboutComponent },
        { path: '**', redirectTo: '/home', pathMatch: 'full' }
    ];
    @NgModule({
    imports: [RouterModule.forRoot(routes)],
    exports: [RouterModule]
})
Run Code Online (Sandbox Code Playgroud)

我有 header.component.ts 来处理导航栏,所以我 <router-outlet></router-outlet>在 header.component.html 中添加了<app-header></app-header>,然后在app.component.ts 中包含了 header.component.ts 的选择器,然后在最后的index.js 中包含了 header.component.ts 的选择器 。 html 我已经包含了 app.component.ts 的选择器,即<app-root></app-root>

你能告诉我是否有问题。

在问这个问题之前,我已经经历了下面的一切,没有任何帮助

  1. RouterLink 不起作用 …

routelink angular-routing angular angular-routerlink

5
推荐指数
1
解决办法
3004
查看次数

如何在 Ionic-Angular 中传递多个路由参数?

我可以像page1/id1Ionic 5 一样通过路由获取单个参数。如果我想获取模块的多个参数,我该怎么做?

hybrid-mobile-app ionic-framework angular angular-routerlink

5
推荐指数
1
解决办法
4300
查看次数

如果我单击同一个锚点两次,带有片段哈希的 Angular 路由将不起作用

我正在尝试使用锚标记中的片段在页面内重定向。第一次它工作正常,但是当我手动向上滚动页面并再次按锚链接时,它不起作用。

<a class="nav-link page-scroll" [routerLink]="['/']" fragment="home">Home</a>
<a class="nav-link page-scroll" [routerLink]="['/']" fragment="about">About</a>
Run Code Online (Sandbox Code Playgroud)

我已将我的代码上传到StackBlitz

单击“关于”,您将看到页面滚动。手动向上滚动并再次按“关于”,这次不会发生任何事情。我期待您关于如何解决此问题的建议。

angular angular-routerlink

5
推荐指数
2
解决办法
7189
查看次数

回去使用routerLink

我正在使用routerLink返回我的页面.

目前的路线可以有3个级别:

myurl.com/parent
myurl.com/parent/child
myurl.com/parent/child/grandchild
Run Code Online (Sandbox Code Playgroud)

另外,我有一些不同的组件,因此它不会总是父组件,它可以是parent1,也可以是parent2,也可以是子组件和孙子组件,例如:

myurl.com/parent2/child1/grandchild2
Run Code Online (Sandbox Code Playgroud)

我想要的是总是去上一级,例如:

myurl.com/parent/child/grandchild -> myurl.com/parent/grandchild
Run Code Online (Sandbox Code Playgroud)

我做的是:

<button [routerLink]="['../'']">
       back
</button>
Run Code Online (Sandbox Code Playgroud)

但它总是导航到"myurl.com"

我怎么解决呢?

正如一些用户建议的那样,我正在分享我的路由配置:

在app.routing.ts中:

const APP_ROUTES: Routes = [
{
  path: '',
  canActivate: [LoggedInGuard],
  children: [
    {path: '', redirectTo: '/mainPage', pathMatch: 'full'},
    {path: 'parent', loadChildren: 'app/parent/parend.module#ParentModule'
]},
{path: '**', redirectTo: ''}
];
Run Code Online (Sandbox Code Playgroud)

在parent.routing.ts中:

const PARENT_ROUTES: Routes = [
 {path: '', component: ParentComponent},
 {path: ':id', component: ChildComponent},
];
Run Code Online (Sandbox Code Playgroud)

如果在浏览器中我写道:

myurl.com/parent -> it works
Run Code Online (Sandbox Code Playgroud)

但单击后退按钮失败

angular angular5 angular-routerlink

4
推荐指数
1
解决办法
8844
查看次数

routerLink在url中添加问号?

我希望有这样的路线:www.test.com?procesId=12.

这是我目前的routerLink:

但是现在我得到了这个价值:

www.test.com/123
Run Code Online (Sandbox Code Playgroud)

任何建议我怎么可以在网址中添加?procesId = 12routerLink

我试过了:

但我没有在网址中得到问号,我也得到一个错误:

无法匹配任何路线.

我知道当我使用params时我可以得到问号,但我想将它与routerLink一起使用,因为这就是他们在这个项目中使用它的方式.

routes angular angular-routerlink

3
推荐指数
1
解决办法
1083
查看次数

子节点和父节点的 routerLinkActive 路由

我正在尝试使用以下代码为我的菜单栏应用或突出显示导航路线,我可以得到的是,我可以突出显示子菜单,但无法突出显示父菜单栏。

<li class="nav-item dropdown"><a
                        class="nav-link dropdown-toggle " id="navbarDropdownMenuLink"
                        data-toggle="dropdown" style="color: white; cursor: pointer;"
                        [routerLinkActive]="['class1']">Parent</a>
                        <div class="dropdown-menu dropdown-menu-left"
                            aria-labelledby="navbarDropdownMenuLink">
                            <a class="dropdown-item" 
                                [routerLink]="['app-child1']"
                                [routerLinkActive]="['class1']"
                                >Child 1</a>
                            <div class="dropdown-divider"></div>
                            <a class="dropdown-item" 
                                [routerLink]="['app-child2']"
                                [routerLinkActive]="['class1']"
                                >Child 2</a>
                        </div>
</li>
Run Code Online (Sandbox Code Playgroud)

CSS类:

.class1{
    background-color: #007bff;
}
Run Code Online (Sandbox Code Playgroud)

angular angular-routerlink

3
推荐指数
2
解决办法
4510
查看次数

角度测试:无法读取 null 的属性“nativeElement”

我是 Angular 测试的新手,目前我正在尝试测试这段代码,但我收到有关 DOM 上引发的事件的错误:

<li class="list-group-item" *ngFor="let user of users">
  <a class="test-link"[routerLink]="['/detail', user.id]">
    {{user.userName}}
  </a>
</li>
Run Code Online (Sandbox Code Playgroud)

测试文件:

beforeEach(async(() => {
  TestBed.configureTestingModule({
    declarations: [AdminComponent, UserDetailComponent],
    imports: [HttpClientModule,RouterTestingModule.withRoutes([
      {path:'detail/:id',
        component: UserDetailComponent}],
    )],
    providers: [UserService, AuthService]
  })
    .compileComponents();
}));

beforeEach(() => {
  router = TestBed.get(Router);
  location = TestBed.get(Location);

  fixture = TestBed.createComponent(AdminComponent);
  debugElement = fixture.debugElement;
  component = fixture.componentInstance;
  fixture.detectChanges();

});

it('test demands redirection', fakeAsync(() => {

  debugElement
    .query(By.css('.test-link'))
    .nativeElement.click();

  tick();

  expect(location.path()).toBe('/detail/testing/1');

}));
Run Code Online (Sandbox Code Playgroud)

为什么本机元素上的点击事件为空?

integration-testing karma-runner angular angular-routerlink

3
推荐指数
1
解决办法
2万
查看次数

Angular 在 Guard 中获取匹配的 url 路径

我的路由是

{
path:'contacts/:id',
component: contactDetail
}
Run Code Online (Sandbox Code Playgroud)

canActivateChild( route: ActivatedRouteSnapshot,
state: RouterStateSnapshot) { 
  console.log(state.url); 
}
Run Code Online (Sandbox Code Playgroud)

state.url返回/contacts/1我需要的是匹配的url/contact/:id是否有可能获得匹配的url?

angular angular-router-guards angular-router angular-routerlink

2
推荐指数
1
解决办法
4170
查看次数

Angular - routerLink 和状态问题

我想从一个 html 页面使用 routerLink 和 state 路由到另一个页面。使用标记没有问题,在登录页面的 ngOnInit 期间,我可以按预期检索状态。使用标签主页也可以导航,但状态结果未定义。

我怎么了?

登录页面的html

<button routerLink="/home" [state]="navExtra.state">
    Go Home Page via button
</button>
<a routerLink="/home" [state]="navExtra.state">Go Home Page via a</a>
Run Code Online (Sandbox Code Playgroud)

登录页面的ts

import { Component, OnInit } from '@angular/core';
import { NavigationExtras } from '@angular/router';

@Component({
  selector: 'app-login',
  templateUrl: './login.page.html',
  styleUrls: ['./login.page.scss']
})
export class LoginPage implements OnInit {
  navExtra: NavigationExtras = {
    state: { data: { a: 'a', b: 'b' } }
  };
  constructor() {}

  ngOnInit() {}
}
Run Code Online (Sandbox Code Playgroud)

首页的ts

import { Component, OnInit …
Run Code Online (Sandbox Code Playgroud)

angular-routing routerlink angular angular-routerlink

2
推荐指数
1
解决办法
6791
查看次数

路由器链接上的活动更改图标

<div class="menuItem mb-3" *ngFor="let menuItem of menuItems">
    <a routerLink="{{menuItem.link}}" routerLinkActive="active">
        <img src="{{menuItem.icon}}" alt="{{menuItem.name}}" />
        <p class="text-center f-12">{{menuItem.name}}</p>
    </a>
</div>
Run Code Online (Sandbox Code Playgroud)

在激活的路由器链接上,我想更改{{menuItem.icon}}{{menuItem.iconAtv}}

typescript routerlinkactive routerlink angular angular-routerlink

1
推荐指数
1
解决办法
533
查看次数