我的angularJS路线现在有问题。
我这里有一个场景可能会帮助你理解我的问题。
我的网站上有一个菜单和一个子菜单。
当模块内容为url时,表示菜单将自行路由并且不满足子菜单..
当模块的网址为空时,它应该是内容子菜单,当我点击它时,它只会打开菜单查看子菜单..
这是我的代码..
<li id="sidebar-dropdown" data-ng-repeat="mod in modulesData">
<a href="{{mod.moduleUrl}}" data-toggle="collapse" data-target="#{{mod.moduleId}}" data-ng-click="setCurrentModule(mod)" >
<i class="fa fa-th"></i> <span>{{mod.moduleName}}</span>
</a>
<ul class="collapse" id="{{mod.moduleId}}" style="list-style-type:none">
<li class="list-group-item no-border" data-ng-repeat="sub in mod.subModule"><a href="{{sub.moduleUrl}}" data-ng-click="setCurrentModule(sub)"><i class="fa fa-th"></i> <span>{{sub.moduleName}}</span></a></li>
</ul>
</li>
在该代码中,我可以在点击子菜单时显示子菜单,它将路由到其指定的URL,但是当我点击父菜单(据说事件将关闭菜单)时,它将路由到我的主页和生活查看我的子菜单..
这是我的摘要(子菜单)中的视图
当我点击父菜单时,它将关闭子菜单,但会路由到我的主页
我希望有人能帮助我解决这个问题。
我只是希望我的父菜单在点击时不采取任何行动。
答案 0 :(得分:2)
尝试使用指令:
app.directive('a', function () {
return {
restrict: 'E',
link: function (scope, elem, attrs) {
if (attrs.href === '' || attrs.href === '#') {
elem.on('click', function (e) {
e.preventDefault();
});
}
}
};
});
当属性href
=== ''
时,它将阻止采取行动