我的菜单中有链接到我页面中的锚点。我希望在点击其中一个链接并且仍然发生默认操作时折叠菜单。当我绑定aurelia事件处理程序时,似乎永远不会发生默认操作(链接不会导航)。如何绑定aurelia事件处理程序以及是否对锚标记执行默认操作?
即:
HTML
<ul class="${navClass}">
<li><a href="#about" click.trigger="_toggleMenu()"><i class="fa fa-pencil" style="color: #FFFF00;"></i><span>About</span></a></li>
</ul>
JS
_toggleMenu() {
if(this.navClass == 'nav') {
this.navClass += ' expand';
} else {
this.navClass = 'nav';
}
}
答案 0 :(得分:5)
使用click.delegate="_toggleMenu()"
(也适用于触发器,但首选委托,请参阅https://github.com/aurelia/binding/blob/master/doc/article/en-US/binding-delegate-vs-trigger.md)
然后返回true以让动作冒泡:
_toggleMenu() {
if(this.navClass == 'nav') {
this.navClass += ' expand';
} else {
this.navClass = 'nav';
}
return true;
}