javascript - 在 angularjs 模板中绑定(bind)外部 URL

标签 javascript angularjs

我有一个带有 Controller 和部分接线的 angularjs 应用程序..

在我的 Controller 中,我有一系列链接..

$scope.links = ['http://www.example.com/1','http://www.example.com/2'];

在我的部分,我有以下代码..

 <div ng-repeat="link in links">
 <a href="{{link}}" target="_blank">Link</a>
 </div>

这似乎不起作用..我在本地通过 NodeJS 应用程序运行它..所以我的 URL 总是以 http://dev-server.local:3000/"http://www.example.com"

谁能帮我弄清楚如何将 Controller 中的超链接直接添加到我的部分模板中,并使 Angular 不附加页面 URL..

最佳答案

您必须明确信任外部 URL:s。查看 $sce 的文档。

在您的 Controller 中,确保您依赖于 $sce,然后创建一个信任外部 url 的方法。

$scope.trustUrl = function(url) {
    return $sce.trustAsResourceUrl(url);
}

在您看来,您可以引用此方法并使用

传入 url
<a ng-href="{{ trustUrl(item) }}">Click me!</a>

关于javascript - 在 angularjs 模板中绑定(bind)外部 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21753331/

相关文章:

javascript - NG-重复过滤后完成重火

javascript - 如何获取按钮单击 Angular 对象值?

angularjs - 从 Angular.js $http 请求中删除 header

javascript - 如何在 jhipster 中管理来自自定义 REST 的 .json 响应数据

javascript - 如何在javascript中混合php?

javascript - 开发模式下 Assets 编译缓慢

java - Spring 拦截不起作用

javascript - 为什么添加默认参数值会在修改参数时改变行为?

javascript - 在 ng-model 中使用过滤器

javascript - 从 url Angular 加载模板并在 div 内编译