问题 Angular-ui-router和href ='#'


我正在使用angular-ui-router并且有一个空标记的问题,比如href ='#'。我正在使用bootstrap,它大量使用href ='#'作为下拉列表等。问题是如果用户选择下拉项,则路由器将其解释为状态更改,在这种情况下是主页。

是否有一种简单的方法来阻止这种行为,而不必诉诸于将所有href ='#'更改为href =''。


10833
2017-08-28 15:26


起源

你不能完全删除href属性吗?当我使用bootstrap和angular时,它适用于我。 - adam0101
是的,这是安全的跨浏览器吗?我想是的,但只是想确定。 - Mike P
有趣的是,基本的角度路由器不会这样做。 - Mike P
或者你也可以这样做:href =“javascript:void(0);” - Coder John
看一眼 angular-ui.github.io/bootstrap 本机角度指令和引导程序的帮助程序。替换我提供的jQuery插件 - Martin


答案:


只需从锚标记中完全删除href标记即可。没有它,它仍然是一个完全有效的标签。

或者,如果您目前正在使用 ui-sref 在锚标签中,你实际上可以使用 href 而不是转到状态映射到的路由。


7
2017-08-28 19:39



谢谢,这就是我最后所做的。 - Mike P
为什么有人拒绝我的回答?小心解释一下? - adam0101
谢谢你的回答 - Frankie Loscavio
在Bootstrap崩溃中,我们需要执行以下操作:<a data-toggle="collapse" data-parent="#accordion" href="#3">,如果没有href,它如何工作? - Elgs Qian Chen
@ElgsQianChen,在这种情况下,我会使用Angular-UI附带的折叠或手风琴指令: angular-ui.github.io/bootstrap - adam0101


你可以使用它,所以你可以保留链接,并在点击它时基本上什么都不做

<a ui-sref="state" href="javascript:void(0);">Your link</a>

2
2017-12-13 07:46



我使用了下面的代码,可以使用<a ui-sref="state" href="#collapseOne">您的链接</a> - zigzag.bond


我用这个:

<a href-void>Click me! I don't do anything, but i'm still a link!</a>

0
2017-12-30 21:35