我遇到了角度路由机制的问题:
$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#
有关如何分离这两个功能的任何建议?
提前致谢
答案 0 :(得分:1)
您可以查看答案here。方法是使用一个指令来阻止默认操作(在您的情况下,导航到“/#”)。
您可以修改指令,仅在位置不是“/#”时才导航。使用函数中的attrs
参数(请参阅上述问题的已接受答案)来标识href
属性的值。根据其值,您可以选择正常进行或阻止浏览器导航到URL。
答案 1 :(得分:0)
实际上我今天在阅读AngularJS
的文档时找到了答案。 <a>
标记已经是一个角度指令,它被写入,以便在给定空href
(<a href="">
)时,它会阻止标记的默认行为