导航回具有参数的路线会导致问题

时间:2018-07-19 12:06:27

标签: nativescript angular2-nativescript

我的路由配置如下:

export const routes = [
    { path: '', component: HomeComponent },
    { path: 'search-results/:searchName', component: SearchResultsComponent },
    { path: 'success', component: SuccessComponent },
];

我从家到这样的搜索结果:

this.routerExtensions.navigate(['search-results', this.searchName.trim()]);

然后,从搜索结果中,我转到成功页面,然后从那里导航到搜索结果,单击“后退”按钮:

<ActionBar title="Success" flat="true">
    <NavigationButton text="Back" android.systemIcon="ic_menu_back"></NavigationButton>
</ActionBar>

我在这里遇到错误:

  

错误错误:未捕获(承诺):错误:无法匹配任何路由。   网址段:“搜索结果”

似乎返回不包含参数。无论如何,我正在添加它想要的路由,现在路由器看起来像这样:

export const routes = [
    { path: '', component: HomeComponent },
    { path: 'search-results', component: SearchResultsComponent },
    { path: 'search-results/:searchName', component: SearchResultsComponent },
    { path: 'success', component: SuccessComponent },
];

现在我得到一个错误:

  

错误错误:未捕获(承诺):错误:当前在页面上   导航-应该重新连接组件,而不要激活它。

因此,基本上,我认为问题在于返回具有参数的视图不起作用,因为反向导航不会传递参数。添加没有参数的路由无济于事,因为本机脚本需要实例化它,但是后视图将被缓存,而不是再次实例化。

从路由中删除参数并将其传递给服务可解决此问题,但我认为它不应该那样工作。

0 个答案:

没有答案