我正在为客户端使用Angular 4和Bootstrap 3.3.7,为后端使用Django。我有一个下拉菜单,其中包含以下几个菜单项:
<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方法,该方法最终调用后端以检索按艺术家或名称排序的数据。
我想要做的是,如果用户连续两次点击相同的菜单项,我希望看到数据按升序排序,然后按降序排序。
问题是当连续两次选择任一菜单项时,第二次选择它,ngOnInit永远不会被调用。
建议?
答案 0 :(得分:1)
我不知道我是否理解你,但如果你的事件处理由于文本选择而失败,你可以通过css使文本无法选择:
li {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}