2016-03-20 8 views
3

私は動的ルートを持つコンポーネントをいくつか持っています。Angular2: 'name'コンフィグレーションが既存のルート 'name'と競合しています

動的ルートを持つコンポーネントを複数回ロードされるたびに

let config = []; 
for(let i = 0; i < this.pages.length; i++) { 
    config.push({ 
    path: this.pages[i].slug, 
    name : this.pages[i].name, 
    component: AnotherComponent, 
    }); 
} 
router.config(config); 

は、ルートが再び構成競合をもたらすように構成されている、ように動的ルートが追加されます。

はここで、ダイナミックルートが利用者から離れて移動した後usersにもう一度クリックすると、リンクusersを搭載した、コンソールに以下のようにエラーをログに記録されている、plunkです。 enter image description here

どうすれば修正できますか?これを調べていただきありがとうございます。ルートが存在する場合

答えて

3

チェックそれ

for(let i = 0; i < this.pages.length; i++) { 
    if(!router.registry.hasRoute(this.pages[i].name, UsersComponent)) { 
    config.push({ 
     path: this.pages[i].slug, 
     name : this.pages[i].name, 
     component: PersonComponent, 
     data : { 
     name : this.pages[i].name, 
     slug : this.pages[i].slug 
     } 
    }); 
    } 
} 

Plunker

を追加する前に
関連する問題