angularjs路由与jquery函数冲突

时间:2013-08-25 18:10:18

标签: javascript jquery angularjs jquery-plugins angularjs-routing

我遇到了角度路由机制的问题:

$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会跳入并尝试解析大部分时间都是这样的网址:http://localhost/site/somewhere/someParams#

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

提前致谢

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

实际上我今天在阅读AngularJS的文档时找到了答案。 <a>标记已经是一个角度指令,它被写入,以便在给定空href<a href="">)时,它会阻止标记的默认行为