我对 AngularJS 仍然很陌生,我有一个问题,我似乎无法找到解决方案,而且我没有时间去研究 Angular 源代码。
这是我的场景:
我有一些 json 数据,其中包含我想在屏幕上显示的 url 集合。
我有一个元素ng-repeat="link in links"
里面我有
<a ng-href="{{link.url}}">{{link.title}}</a>
这可行,但所有链接都指向mydomain/应用程序路径/链接标题的值我希望它们是绝对的,只是链接标题的值没有任何前缀。
如何告诉 Angular 它是绝对网址而不是相对网址?
正如 Goran 所说,只有所有网址都类似于“www.google.com”时,他的解决方案才有效。
如果您有不同类型 url 的组合,例如'www.google.com'、'https://github.com'、'http://goo.gl'、'github.com',您可以将 ng-href 与角度过滤器一起使用:
<a ng-href="{{link.url|myFilter}}">{{link.title}}</a>
和一个过滤器,如果您的网址以“www”开头,则会将“http://”附加到您的网址:
'use strict';
myApp.filter("myFilter", function () {
return function (link) {
var result;
var startingUrl = "http://";
var httpsStartingUrl = "https://";
if (link.startWith(startingUrl) || link.startWith(httpsStartingUrl)) {
result = link;
}
else {
result = startingUrl + link;
}
return result;
}
});
String.prototype.startWith = function (str) {
return this.indexOf(str) == 0;
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)