我目前正在重写旧版本和应用程序,其中HTML主要在angularJS中生成服务器端。
只有页面的某些部分不是由AngularJS提供支持,而一些客户端逻辑仍然是纯JavaScript。对于网址路由,我们使用UI-router
其中一种情况是在所有应用程序中使用的选项卡。它的当前实现包含以下所有重写位置哈希:myapp_url?foo=bar#1, myapp_url?foo=bar#2
等。
注意 - 哈希部分没有斜杠“/”。
在我的情况下,默认情况下,其中一个选项卡中的角度块不可见。因此,当用户单击页面上的选项卡时,URL会更改为像myapp_url?foo=bar#TAB_id
一样的smth,它不被UI路由器所理解,并且它将应用程序(不是整个页面而是角度驱动的块)部分重定向到404状态
Angular UI路由器依赖于像myapp_url?foo=bar#/my_route
这样的Url掩码 - 在散列部分中使用斜杠符号 - 因此可以是触发器。
我问如何/在哪里可以添加这种检查 - 角度部分是否采取行动或跳过网址更改?
答案 0 :(得分:0)
我已经通过创建一个带有空网址的状态解决了这个问题,它不会通过angularJS app以外的javascript干扰网址哈希更改。
$stateProvider
.state("base.emptyState", {
url: "",
template: '';
})