我正在使用AngularJS来构建SPA,但仅限于系统中的某些功能。我很难找到为什么Angular会阻止页面在刷新之后刷新或者如何禁用/解决它。
所以我有简单的菜单:
<ul>
<li><a href="/admin">Homepage</a></li>
<li><a href="/admin/profile">Profile</a></li>
</ul>
当我已经在http://example.com/admin
页面上并点击第一个链接(/admin
)时,没有任何反应。
我可以检测到某个a
元素是否有href
,然后使用window.location
但不幸的是我在系统的其他部分使用了AJAX,因此不适合
请告知。
答案 0 :(得分:3)
您正在使用单页应用程序。路由器负责在不同的应用程序路由之间导航,但浏览器从不提取全新的页面。
当您点击已经存在的网页的链接时,无法导航到该位置。
编辑:您可以编写一个指令来检测锚标记的点击次数,如果路径相同,则可以触发页面刷新。这将为您提供您正在寻找的行为。但是,我努力想到这一点。
编辑2 :这就是停止导航的原因:https://github.com/angular/angular.js/blob/v1.5.x/src/ng/location.js#L889。
据我所知,你无法做任何事情来禁用这种行为,或者如果有的话,那将是一个更丑陋且更脆弱的解决方案,它会创建你自己的指令来触发页面刷新。
答案 1 :(得分:0)
您需要使用ng-href
和http://plnkr.co/edit/stdkjN?p=preview