从angularJS partial中链接到具有不同域的外部URL
我想要做的就是在链接到外部网站的部分的html中包含一个锚标记.如果是这个标准的html,代码就是:
<a href="http://www.google.com" target="_blank">google</a> 就像这一样简单,我似乎无法找到一个有效的解决方案来通过角度拦截路线(或者可能无意中用https://docs.angularjs.org/api/ng/directive/a指令替换我的锚点?). 我已经搜索了SO和网络的其余部分并看到了无数的处理解决方案:同一域内的链接,SPA内的路由,页面内的路由(ala $anchorScroll)但这些都不是我的问题. 我怀疑它可能与使用$sce有关,但我是Angular n00b并且不确定如何正确使用该服务.我在视图控制器中尝试了以下内容: $scope.trustUrl = function(url) { return $sce.trustAsResourceUrl(url); } 与相应的: <a ng-href="{{ trustUrl(item) }}">Click me!</a> (如下所述:Binding external URL in angularjs template) 但这似乎没有做到这一点(我最终只在渲染页面中使用了href =“{{”). 使用像这样的普通香草锚链接: <a href="http://www.google.com">google</a> 也没有做到这一点(尽管一些在线建议标准href会导致完整页面重新加载角度:AngularJS – How can I do a redirect with a full page load?). 我也尝试添加target = _self“属性,但这似乎也没有效果. 我是否需要编写如此处所述的自定义指令? Conditionally add target=”_blank” to links with Angular JS 对于这样一个简单的动作来说,这一切看起来都太复杂了,我觉得我在遗漏中遗漏了一些明显的东西,至少我希望如此,因为这个过程只是为了链接到另一个网址而感到非常繁重. 提前感谢任何解决方案,建议,参考或指导. 解决方法
事实证明,我确实将页面中的所有锚链接绑定到事件侦听器并被覆盖.由于该代码是页面工作方式的基础,我不想搞砸它.相反,我通过使用ng-click调用新URL来绕过它,如下所示:
HTML: <a class="navLinkHcp" href="{{hcpurl}}" title="Habitat Conservation Plan" target="_blank" ng-click="linkModelFunc(hcpurl)">Habitat Conservation Plan</a> 控制器: $scope.hcpurl = 'http://eahcp.org/index.php/about_eahcp/covered_species'; $scope.linkModelFunc = function (url){ console.log('link model function'); $window.open(url); } 瞧!很高兴去.再次感谢KevinB,因为这可能是问题所在. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |