我的webApp中有一个菜单,我想添加一个子菜单。为了实现该功能,我需要将click事件附加到a
标记,并为每个菜单添加has-sub
类。我怎么能实现这一目标?
我应该将(click)
事件添加到a
标记的所有内容中。还是有更好的解决方案?
我应该在该组件的javascript端添加什么内容?
由于
<ul>
<li><a>test</a></li>
<li>
<a class="has-sub">test<icon name="plus" size="5"></icon></a>
<div class="submenu">
<ul class="container">
<li><a href="#">test</a></li>
<li><a href="#">test</a></li>
<li><a href="#">test</a></li>
<li><a href="#">test</a></li>
</ul>
</div>
</li>
<li><a href="#">test</a></li>
<li><a href="#">test</a></li>
<li><a href="#">test</a></li>
</ul>
答案 0 :(得分:0)
routerLink="#"
无效
要么使它成为正常<a href="#">
(没有routerLink
)
或传递注册的路线路径,如
<a routerLink="/rootRoute/childRoute"
有关如何使用路由器,请参阅https://angular.io/docs/ts/latest/guide/router.html
<强>更新强>
要仅将点击处理程序添加到class="has-sub"
的元素,您可以使用
<a class="has-sub" href="#" #li1 (click)="li1.classList.contains('has-sub') ? myClickHandler($event) : false"
这种方式myClickHandler($event)
仅在元素具有class="has-sub"
时调用,否则调用$event.preventDefault()
(因为返回值false
)