2

我的源数据包含指向 css 文件的 URL,我需要在呈现模板时加载这些文件。

控制器有这样的东西:

$scope.links = myData.query();

在视图中我尝试了这个:

<link ng-repeat="link in links" rel="stylesheet" type="text/css" href="{{link}}">

当然,在 Angular 开始填充之前{{link}},浏览器会抱怨{{link}}它不存在的 URL。

所以我最终只发出标记而不是链接:

$scope.links = "<link rel=\"stylesheet\" type=\"text/css\" href=\"http://example.com\">";

并在模板中:

<div ng-bind-html-unsafe="links"></div>

我什至不能使用ng-bind-html我必须使用不安全的版本。

有没有更好的方法来实现这一目标?

4

2 回答 2

3

你会想使用ngHref

<link ng-repeat="link in links" rel="stylesheet" type="text/css" ng-href="{{link}}">
于 2012-11-04T01:30:59.417 回答
1

当你总是使用 AngularJS 哈希标签时,通常必须有适当的指令模块,在这种情况下ngHref。如果您不使用它,您很可能会返回 404 错误,直到 angular 有时间用适当的 URL 替换链接。

此处参考文档以获取更多信息。
https://docs.angularjs.org/api/ng/directive/ngHref

于 2014-07-25T15:25:13.753 回答