Angularjs:指令模板中的外部 url

Angularjs: external url in directive's template

我想创建一个指令来设置从指令模板引用的正确 url。

  datsApp.directive('myDir', function () {
        return {
            restrict: 'A',
            scope: {},
            link: function (scope) {
                scope.url = link;
            },
            template: "<span>Click <a href='{{url}}'>here</a> for more info</span>"
        };
    });

link 变量是一个全局变量,它包含一个 url 并且取决于语言和一些其他设置。 如果我设置 link = 'www.google.com',我会得到它指向 localhost:8888/somedir/www。google.com

我该如何解决这个问题?

如果要添加绝对地址,请从 http://whatever.address 开始。这是因为当您添加 link 而没有任何斜线或没有定义协议时,url 被理解为相对地址。它与您当前的位置有关。这就是 Google.com 被附加到您当前的 url

的原因