【问题标题】:Binding external URL in angularjs template在angularjs模板中绑定外部URL
【发布时间】:2014-03-12 06:39:56
【问题描述】:

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

在我的控制器中,我有一个链接数组..

$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"

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

【问题讨论】:

  • 你使用&lt;base&gt;标签了吗?
  • 不,我没有使用 标签
  • 我不确定 标签的用法..你能帮忙..

标签: javascript angularjs


【解决方案1】:

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

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

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

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

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

【讨论】:

    【解决方案2】:

    而不是

    href={{link}}
    

    使用

    ng-href={{link}}
    

    【讨论】:

    • 这是正确的.. 但是我的 JSON 解析也有问题.. 这也是它失败的原因..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-25
    • 1970-01-01
    • 1970-01-01
    • 2018-12-16
    • 2016-09-30
    相关资源
    最近更新 更多