1

リストビューでルートパラメータを設定できません。リンクをクリックすると、ContentViewerコンポーネントが開きません。デバッグはエラーを書き込みます:角度2.ルーティングの問題

1.約束しています:エラー:いずれのルートにも一致できません。

2.未承認プロミス拒否:いずれのルートにも一致しません。 URLセグメント: 'components/input';ゾーン:角度;タスク:Promise.then;値:

これは私の主なサービスです。

const LSNS = [ 
{ name: 'Helpers' , 
items: [ 
    { id : "autocomplete" , name : "Autocomplete" }, 
    { id : "checkbox" , name : "Checkbox" }, 
    { id : "input" , name : "Input" }, 
    ] 
}, 
{ name: 'front-back-end', 
items: [ 
    { id : "video_chat", name : "Video chat" }, 
    { id : "audio_chat", name : "Audio chat" }, 
    { id : "simple_chat", name : "Simple chat"}, 
    { id : "another", name : "Another"} 
    ] 
} 
] 
const BMJ = LSNS.reduce((function(a,b){ 
     return a.concat(b.items); 
}), []); 

@Injectable() 
export class LSNDiscriptionService { 
    getItemLSNS(): Hlsns[] { 
    return LSNS; 
}; 
    getBMJ(id:string) { 
     return BMJ.find(bm => bm.id === id); 
    }; 
}; 

ルーティング。あなたの現在の実装では、あなたが子供のルートにナビゲートしたい絶対ルートを示し

import { Component, OnInit }    from '@angular/core'; 
import { ActivatedRoute }   from '@angular/router'; 
import { LSNDiscriptionService, LSNSItem } from '../common- 
service/common.service'; 

export class ContentViewer implements OnInit { 
bm:LSNSItem; 
constructor(public lds:LSNDiscriptionService, 
      private _route:ActivatedRoute){} 

ngOnInit():void {  
    this._route.params.subscribe(params => this.bm = 
    this.lds.getBMJ(params['id']));  
}; 
} 
+0

「let bm of lsn.items」どこにlsnの宣言がありますか? – Zze

答えて

0

表示されていない

 { path: 'web_app', component: LeftSideNav, 
    children:[ 
     { path:'', component: BossContent }, 
     { path:'components/:id', component: ContentViewer } 

Htmlの

<nav *ngFor="let lsn of lsns" class="lsnss" > 
    <h3>{{ lsn.name }}</h3> 
     <ul class="lsns"> 
      <li *ngFor="let bm of lsn.items" class="lop" > 
       <a [routerLink]="['/components', bm.id]">{{bm.name}}</a> 

コンポーネント。 子ルートの前に親パスを追加すると、問題が解決する可能性があります。

<a [routerLink]="['/web_app/components', bm.id]">{{bm.name}}</a> 
+0

あなたはvey match.Itのrigthですが、あなたは小さな修正が必要です。 「{{bm.name}}」 – MaVriKK

+0

ofc。小さなタイポ、しかし重要: – Flaugzig

関連する問題