[英]Implement submenu in angular2
I have a menu in my webApp and I wanna add a submenu.for implement that feature I need to attach click event to the a
tag with has-sub
class for every single menu. 我的webApp中有一个菜单,我想添加一个
has-sub
菜单。要实现该功能,我需要将click事件附加到每个菜单具有has-sub
类a
标签上。 how can I achieve that? 我该如何实现? I should add
(click)
event to the all of a
tag. 我要补充
(click)
事件给所有的a
标签。 or there's better solution? 还是有更好的解决方案?
What should I put in javascript side of that component? 我应该在该组件的javascript端放什么?
Thanks 谢谢
<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>
routerLink="#"
is invalid. routerLink="#"
无效。
Either make it a normal <a href="#">
(without routerLink
) or pass a registered route path like 使其成为普通的
<a href="#">
(不带routerLink
),或者传递一个已注册的路由路径,例如
<a routerLink="/rootRoute/childRoute"
For how to use ther router see https://angular.io/docs/ts/latest/guide/router.html 有关如何使用路由器的信息,请参见https://angular.io/docs/ts/latest/guide/router.html
update 更新
To add a click handler only to element with class="has-sub"
you can use 要将点击处理程序仅添加到具有
class="has-sub"
元素,可以使用
<a class="has-sub" href="#" #li1 (click)="li1.classList.contains('has-sub') ? myClickHandler($event) : false"
This way myClickHandler($event)
is only called when the element has class="has-sub"
, otherwise $event.preventDefault()
is called (because of the return value false
) 这样,仅当元素具有
class="has-sub"
时才调用myClickHandler($event)
,否则将调用$event.preventDefault()
(由于返回值false
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.