2016-12-26 17 views
0

ユーザーのプロファイルページへのルートを作成しようとしていますが、これは "/:username"でなければなりませんが、機能しません。最後の行に記述されています。子ルートは空のパスを持つ親とは動作しないようです。空のルートパスで子ルートが機能しない

app.js私が持っている私のhome.js

configureRouter(config, router){ 
     config.title = 'Dreampper'; 
     //config.options.pushState = true; 
     config.map([ 
      { route: '',    moduleId: 'home'}, 
      { route: 'login', moduleId: './components/account/login', name: 'login'}, 
      { route: 'register', moduleId: './components/account/register', name: 'register'} 
     ]); 

{ route: '', moduleId: './components/timeline/timeline', name: 'timeline' }, 
{ route: 'welcome', moduleId: './components/account/welcome', name: 'welcome' }, 
{ route: 'account/EmailConfirmation/:user/:code', moduleId: './components/account/email-confirmation', name:'Email confirmation' }, 
{ route: ':username', moduleId: './components/profile/profile', name: 'profile' } 

誰かが私を助けることができますか?リダイレクトを使用したくないのは、リダイレクトによってURLが空の "localhost /"にならないからです。

+1

問題が発生するため動作しません。あなたのユーザーの名前が「welcome」であるとしましょう。したがって、ルートは '/ welcome'になります。しかし、すでに 'welcome'というルートがあります。 '/:username'や '/ welcome'を取得しようとしているルートを特定する方法はありません。あなたは '/ profile /:username 'のようなものを使うべきです –

+0

@Felipe、これを解決できましたか? – LStarky

+0

こんにちは@FabioLuzとLStarky、私はルート "歓迎"とユーザー名 "歓迎"を持つことについて心配する必要はありません。これはAPIの責任であり、ユーザーがルートと同じ名前を持つことを許可しません。私はまだそれを動作させるために何かを試みています。私はLStarkyの提案を試み、あなたに報告します。 –

答えて

0

ルータの設定時にmapUnknownRoutes機能を使用してください。私はこれをテストしなかったが、あなたはこのようなことをすることができるはずです。 Fabioの提案も考慮に入れてください。それは良いことです。しかし、あなたが本当にそれをしたい場合は...

config.mapUnknownRoutes({ redirect: '#/' }); 

router.configure(config => { 
    config.mapUnknownRoutes(instruction => { 
    //check instruction.fragment 
    //set instruction.config.moduleId 
    }); 
}); 

基本的には、指定された実際のルートを取得するためにinstruction.fragmentを見てみたいと思うでしょうし、その後パラメータを使用して特定のルートにリダイレクトどんなルートが与えられたとしても。

関連する問題