我的源数据包含指向css文件的URL,我需要在呈现模板时加载这些文件。
控制器有这样的东西:
$scope.links = myData.query();
在视图中我尝试了这个:
<link ng-repeat="link in links" rel="stylesheet" type="text/css" href="{{link}}">
当然,在角度来填充{{link}}
部分之前,浏览器会抱怨它不存在的网址{{link}}
。
所以我最终只发出了标记而不是链接:
$scope.links = "<link rel=\"stylesheet\" type=\"text/css\" href=\"http://example.com\">";
并在模板中:
<div ng-bind-html-unsafe="links"></div>
我甚至无法使用ng-bind-html
我必须使用不安全的版本。
有没有更好的方法来实现这一目标?
答案 0 :(得分:3)
您可能希望使用ngHref。
<link ng-repeat="link in links" rel="stylesheet" type="text/css" ng-href="{{link}}">
答案 1 :(得分:1)
当你总是使用AngularJS哈希标签时,通常必须有适当的指令模块,在这种情况下 ngHref 。如果你不使用它,你很可能会返回404错误,直到angular有时间用适当的URL替换链接。
有关详细信息,请参阅文档。
https://docs.angularjs.org/api/ng/directive/ngHref