gpt4 book ai didi

javascript - Angular $state.go() 不断重定向到 IE 中的索引

转载 作者:行者123 更新时间:2023-12-03 09:51:12 27 4
gpt4 key购买 nike

我正在使用angular-ui-router处理我的应用程序内的导航。调用$state.go([state name])在 Chrome 中工作得很好,但在 IE(使用 Edge)中,调用会导航到正确的 View 一段时间,然后立即重定向到 '/'我还使用 Angular 引导 Accordion 指令。 header 内容包含 <span>我正在尝试将导航操作附加到它。

我完全删除了 $urlRouterProvider.otherwise('/')主应用程序配置 block 中的语句。控制台中没有抛出任何错误。我已经在我们的实时 Azure 租户以及本地主机上对此进行了测试。结果相同; IE 在实时环境和本地主机上都会失败,而 Chrome 在这两种情况下都可以工作。逐步执行angular-ui-router.js不会出现任何被击中的捕捉 block ;那里一切似乎都正常工作。

我希望我可以发布一个实例,但代码处于保密协议(protocol)之下。有人知道 $state 和 IE 之间的浏览器不兼容问题吗?还有其他可能有用的信息吗?

过去 3 小时我一直在 github/stackoverflow/google 上搜索,我的头因为撞墙而变得疼痛(加上 sleep 不足和大量咖啡因:])。

感谢您的帮助

最佳答案

Angular/bootstrap Accordion 指令修改了 <accordion-heading> 内的我的标记,通过将这些内容包装在 <a href> 中标签。使用时$state.go() ,或尝试通过 ui-router 进行导航以编程方式提供服务,<a>标签将窃取导航,因为其 href属性。看来我应该早点发现这一点。

Angular 引导指令被编写为模块化且易于使用;在这种情况下,可以通过避免内置导航机制(例如<a>)来避免跨库污染。标签,特别是当没有发生实际的超链接时。而不是<a>标签,我已经根据调整后的引导代码创建了自己的指令,以便 <accordion-header> 的内容而是用跨度包裹。

我的 Accordion 指令操作之前的代码

<!-- inside of a ng-repeat-->
<accordion>

<!-- code... -->

<accordion-heading>

<span>{{item.Title}}</span>
<span ng-click="edit(item)"></span>

</accordion-heading>

<!-- code... -->

</accordion>

Accordion 指令操作后的代码(注意 <a> 标签)。

<div class="panel-heading">
<h4 class="panel-title">

<!-- here is the culprit -->
<a href=""
class="accordion-toggle"
ng-click="toggleOpen()"
accordion-transclude="heading">

<span ng-click="editGroup(group)"></span>
</a>
</h4>
</div>

关于javascript - Angular $state.go() 不断重定向到 IE 中的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30879220/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com