gpt4 book ai didi

javascript - 不改变位置的 Angular 路由

转载 作者:数据小太阳 更新时间:2023-10-29 04:12:54 25 4
gpt4 key购买 nike

Chrome Packaged Apps有相当严格的内容安全政策。这样做的一个结果是操纵位置(如单击链接)会导致:

'Can't open same-window link to "chrome-extension://lkjasdfjklbdskjasdfjkhfdshjksad/derp.html"; try target="_blank". '

Target _blank 将在 chrome 中打开链接,这不是我想要的。 AngularJS 的路由能否在这样的锁定环境中工作?

他们提供了 an example Angular 应用程序的一部分,但显然不使用路由。

更新

这是一个链接,点击后会出现错误:<a class='walrus-link' ng-href='paystubs/{{walrus.id}}'>Walrus {{id}}!</a>

最佳答案

不使用 href,尝试使用 ng-click 并调用 Controller 的方法,然后使用 $location 重新定位到适当的页面。请参阅 AngularJS site 上的文档.文档中的以下引述表明 $location 服务可能适合您:

When should I use $location? Any time your application needs to react to a change in the current URL or if you want to change the current URL in the browser.

您的代码可能如下所示:

<a class='walrus-link' ng-click='getPaystub(walrus.id)'>Walrus {{id}}!</a>

并且在您的父 Controller 中,您需要一个名为“getPaystub”的范围方法,其中一行类似于:

$scope.getPaystub = function(selectedWalrusId) {
$location.path('paystubs/'+$scope.walrus.id);
}

这样 Angular 可以保持控制,不会导致页面刷新。希望这能让您保持在 CSP 的范围内。不幸的是,我无法在打包的应用程序中对此进行测试,但我在 Web 应用程序中使用了完全相同的约定,而且效果非常好。

关于javascript - 不改变位置的 Angular 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15392500/

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