0

我在使用角度路由机制时遇到问题:

$routeProvider
  .when("/", { templateUrl: "/*some MVC calls to return a partial view*/"})
  .when("/somewhere/:someParams", { templateUrl: "/*some MVC calls to return a partial view*/"})
  ...
  .otherwise({redirectTo: "/"})

问题是我使用的是wrapbootstrap的主题(更准确地说是Ace),它有很多基于<a>标签和href="#"属性的功能,每当用户点击一个元素(比如也有<a href="#">标签的下拉菜单)时,angularjs 会跳转in 并尝试解析大部分时间看起来像这样的 url:http://localhost/site/somewhere/someParams#

关于如何分离这两个功能的任何建议?

提前致谢

4

2 回答 2

1

你可以看看这里的答案。方法是使用一个指令来阻止默认操作(在您的情况下,导航到“/#”)。

您可以修改指令以仅在位置不是“/#”时导航。使用attrs函数中的参数(请参阅上述问题的已接受答案)识别href属性的值。然后,您可以根据其值选择正常进行或阻止浏览器导航到 URL。

于 2013-08-26T06:40:38.533 回答
0

实际上,我今天在阅读AngularJS的文档时找到了答案。该<a>标签已经是 Angular 中的指令,并且它的编写方式是,当给定一个空href( <a href="">) 时,它会阻止 a 标签的默认行为

于 2013-08-26T15:55:18.653 回答