2017-12-21 17 views
0
アクティブ

として示す複数のメニュー項目Iは私が持っている4.3.0角度4 + PrimeNGメニュー -

問題がPanelMenuすなわちp-panelMenu制御である

角度4.1.2とPrimeNGを使用しています。次

は、私が持っている問題は、「 は」両方「 オープン」と「 」をクリックするたびに選択してしまうことがあります私のメニュー

{ 
    label: 'Demo', 
    icon: 'fa-shield', 
    items: [{ 
     label: 'Proposal', 
     items: [ 
      { label: 'New', icon: 'fa-plus', routerLink: ['/proposal/create'], routerLinkActiveOptions: "{exact:true}" }, 
      { label: 'Open', icon: 'fa-search', routerLink: ['/proposal'] }, 
     ] 
}, 

の構造です。

私はこれを避けようとしましたが、routerLinkActiveOptions: "{exact:true}"を入れても効果がないようです。

routerLinkActiveOptionsのAPIに関するドキュメントへのポインタもあります。現在、オプションとして設定できるプロパティ/値を理解できませんrouterLinkActiveOptions

+0

「開く」をクリックしても同じ動作が起こりますか? –

+0

Angular 4とPrimeNG 4.xまたはAngular 5とPrimeNG 5を使用する必要があります。https://stackoverflow.com/questions/47630214/primeng-5-0-2-doesnt-work-with-angular-4/47630478# 47630478 – Antikhippe

+0

@chautran - 「新規」をクリックした場合にのみ発生します。 「開く」をクリックすると、「開く」だけが選択されます。私はおそらくopenのURLがNewのURLのサブセットであると感じています.Newはルート階層の子です。 – InSane

答えて

1

あなたのメニュー・モデルへの変更の下にしてください。従って完全な例については

 
{ 
     label: 'Demo', 
     icon: 'fa-shield', 
     items: [{ 
     label: 'Proposal', 
     items: [ 
      { label: 'New', icon: 'fa-plus', routerLink: ['/proposal/create'], routerLinkActiveOptions: { exact: true } }, 
      { label: 'Open', icon: 'fa-search', routerLink: ['/proposal'], routerLinkActiveOptions: { exact: true } }, 
     ] 
     }] 
} 

https://stackblitz.com/edit/angular-a27wca

0

/proposal/create/proposal/の問題のようです。あなたはをクリックしたときには、最初

あなたはそれが必要これらのケースでは全く異なるルートの/Newのようなものと/Openで試すことができますオープン両方を選択する理由かもしれないproposal、その後createを呼び出しますうまく動作します。この問題を解決するには

これは、私はjsfiddleを作成し、それを試してみて動作しない場合:)

+0

あなたの提案に感謝しますが、私はこのケースでは異なるルートを持ちたくありません。ルートに親子関係を示すようにしたいのですが、URLを正確に一致させる方法を知りたいと思います。 – InSane