Angular 5:onSameUrlNavigation

时间:2017-11-06 20:31:21

标签: angular angular-routing

使用新发布的Angular 5查看更改并阅读以下博客:http://blog.ninja-squad.com/2017/11/02/what-is-new-angular-5/

我注意到为路由器选项添加了一个新标志,以允许页面重新加载。我之前不得不实施一个但是要实现这一目标。我希望删除我的黑客并使用这个新功能。该标志被称为onSameUrlNavigation。但是,当我尝试使用它时,Angular编译器会抱怨。

我的代码:

import { NgModule }             from '@angular/core';
import { RouterModule, Routes } from '@angular/router';

import Properties               from './../shared/properties';

const routes: Routes = [
    { path: '', redirectTo: '/' + Properties.ROUTES.catalog.home.route, pathMatch: 'prefix' }
];

@NgModule({
    imports: [ RouterModule.forRoot(routes, {onSameUrlNavigation: 'reload'}) ],
    exports: [ RouterModule ]
})

export class CoreRoutingModule {}

错误讯息:

ERROR in [at-loader] ./app/core/core-routing.module.ts:13:45
    TS2345: Argument of type '{ onSameUrlNavigation: string; }' is not assignable to parameter of type 'ExtraOptions'.
  Object literal may only specify known properties, and 'onSameUrlNavigation' does not exist in type 'ExtraOptions'.

我出错的任何想法?

3 个答案:

答案 0 :(得分:0)

看起来该功能未进入v5.0.0 https://github.com/angular/angular/pull/19463/ 这个帖子中有一条评论说可能会考虑v5.1.0

另外,如果您查看源文件,则可以看到ExtraOptions接口没有onSameUrlNavigation属性(https://github.com/angular/angular/blob/5.0.0/packages/router/src/router_module.ts#L245)。这就是造成错误的原因。

答案 1 :(得分:0)

显然,此更改已从5.0.0中删除,现在正在考虑将来的版本。 https://github.com/angular/angular/pull/19463

答案 2 :(得分:0)

按照计划,此功能是自v5.1.0以来Angular的一部分 有关详细信息:https://github.com/angular/angular/pull/19463