Angular 4并从下拉列表中选择菜单项

时间:2017-09-15 10:51:49

标签: angular

我正在为客户端使用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永远不会被调用。

建议?

1 个答案:

答案 0 :(得分:1)

我不知道我是否理解你,但如果你的事件处理由于文本选择而失败,你可以通过css使文本无法选择:

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