2017-04-17 95 views
1

我收到以下錯誤,當我嘗試打開通過[routerLink]一種新的形式:未捕獲的(在承諾):錯誤:無法匹配任何路線。段網址:

error_handler.js:54 EXCEPTION:未捕獲的(在承諾):錯誤:無法匹配任何路線。 URL段:「用戶訂閱對話框」 錯誤:無法匹配任何路線。 URL段: '用戶訂閱對話框'

HTML頁:

<h1>Usuários</h1> 

<button type="button" *ngIf="mostrarBotaoNovo" 
    [routerLink]="['/', { outlets: { popup: ['usuario-cadastrar-dialog'] } 
}]" 
    class="btn btn-default"> 
    <i class="fa fa-user" aria-hidden="true"></i> Novo usuário 
</button> 

用戶routing.ts

import {NgModule} from "@angular/core"; 
import {RouterModule} from "@angular/router"; 
import {GerenciarUsuarioComponent} from "./usuario-gerenciar/usuario-gerenciar.component"; 
import {CadastrarEditarUsuarioDialogComponent} from "./usuario-cadastrar-dialog/usuario-cadastrar-dialog.component"; 

@NgModule({ 
    imports: [ 
    RouterModule.forChild([ 
     { 
     path: 'administracao', 
     children: [ 
      {path: 'usuario', component: GerenciarUsuarioComponent}, 
      {path: 'usuario-cadastrar-dialog', component: CadastrarEditarUsuarioDialogComponent, outlet: 'popup'} 
     ] 
     } 
    ]) 
    ], 
    exports: [RouterModule] 
}) 
export class UsuarioRouting { 
} 

APP-routing.module.ts

import { NgModule } from '@angular/core'; 
import { Routes, RouterModule } from '@angular/router'; 
import {PrincipalComponent} from "./principal/principal.component"; 
import {UsuarioRouting} from "./usuario/usuario-routing"; 

const routes: Routes = [ 
    { 
    path: '', 
    pathMatch: 'full', 
    component: PrincipalComponent 
    }, 

    ...UsuarioRouting 
]; 

@NgModule({ 
    imports: [RouterModule.forRoot(routes, {useHash: true})], 
    exports: [RouterModule], 
    providers: [] 
}) 
export class AppRoutingModule { } 
+0

我投票,因爲它屬於以關閉這個問題題外話https://pt.stackoverflow.com/ –

+0

嗨大衛,如何遷移是[鏈接](https://pt.stackoverflow.com /)而不會丟失你已經寫過的東西。謝謝的。 –

+0

我舉報的問題是主持人遷移。這將帶來問題和答案。 –

回答

0

從我注意到,您的用戶routing.ts政府有一個路徑,然後用戶訂閱迪阿羅g,並且在頁面html中,您只調用用戶註冊對話框而不是管理/用戶註冊對話框。

試圖改變這一點:

[routerLink]="['/', { outlets: { popup: ['usuario-cadastrar-dialog'] } 

它:

[routerLink]="['/', { outlets: { popup: ['administracao/usuario-cadastrar-dialog'] }. 

或者只是把路由其主要成分,在這裏:

const routes: Routes = [ 
{ 
path: '', 
    pathMatch: 'full', 
    component: PrincipalComponent, 
path: 'usuario-cadastrar-dialog', 
    pathMatch: 'full', 
    component: CadastrarEditarUsuarioDialogComponent 
}, 

(不要忘了進口CadastrarEditarUsuarioDialogComponent)。

+0

你好阿里爾小,試過你的建議是雙向的。在第一種形式中,我收到以下錯誤:**未處理的Promise拒絕:路由的配置無效。必須提供以下內容之一:component,redirectTo,children或loadChildren; **。在另一個我添加了路線,但得到了像以前一樣的錯誤。預先感謝您。 –

+0

朴子親愛的,原諒TA在此間舉行的演出運行的延遲。只要告訴我一件事,你想在新的途徑打開一個彈出,或希望在同一頁上打開? –

+1

你好阿里爾,所以我設法解決了這個問題。我忘了,就把這行'<路由器的出口名稱=「彈出」>'在我的‘app.component.html’指出,我想我的渲染彈出。感謝您的關注。 –

相關問題