2017-09-15 5 views
2

私はクライアントのために角度4とブートストラップ3.3.7を、バックエンドはDjangoを使用しています。角4とドロップダウンからメニュー項目を選択

 <ul *dropdownMenu class="dropdown-menu"> 
     <li routerLink='/sortedby/name' routerLinkActive="active"><a routerLink='/sortedby/title' routerLinkActive="active">Title</a></li> 
     <li routerLink='/sortedby/artist' routerLinkActive="active"><a routerLink='/sortedby/artist' routerLinkActive="active">Artist</a></li> 
     </ul> 

私のルーティングは次のように実装されています:素晴らしい作品

const appRoutes: Routes = [ 
    { 
     path:"search", 
     component: SearchDetailComponent, 
    }, 
    { 
     path:"sortedby/:sortby", 
     component: RecordListComponent, 
    }, 
    { 
     path:"", //default path 
     component: HomeComponent, 
     pathMatch: 'full', 
    }, 
    { 
     path:"**", //wildcard 
     component: NotFoundComponent, 
    } 
] 

私はこのようないくつかのメニュー項目とドロップダウンメニューがあります。いずれかのメニュー項目が選択されると、RecordListComponentのngOnInitメソッドが呼び出され、最終的にバックエンドを呼び出して、アーティストまたは名前のいずれかによってソートされたデータを取得します。

私がしたいのは、ユーザーが同じメニュー項目を2回連続してクリックすると、データが昇順で降順でソートされていることがわかります。

メニュー項目が2回連続して選択され、2回目に選択されたときにngOnInitが呼び出されないという問題があります。

提案?

答えて

1

私は右のあなたを理解するかどうか、私は知りませんが、あなたのイベント処理は、テキスト選択のために失敗した場合、あなたはCSSで選択不可のテキストを作ることができます:私は、メニューを選択することができるようにしたい

li { 
    -webkit-user-select: none; 
    -moz-user-select: none;  
    -ms-user-select: none;  
    user-select: none; 
} 
+0

項目を2回続けてイベントをトリガーする場合 –

+0

ダブルクリックイベントを処理することができますか?落とし穴を避けるためにこの質問を見てください:https://stackoverflow.com/questions/36113861/angular-2-click-and-dblclick-on-the-same-element-not-working-good – mbnx

+0

ありがとうございますダブルクリックイベントは関係ありません。ユーザは、アーティストをクリックしてアーティストのリストを昇順にソートすると、ユーザはリストを降順で見たいので、ユーザは再びアーティストメニュー項目を選択する。この第2の選択は「聞いた」ものではない。 –

関連する問題