一尘不染

在HTML Header中有条件地渲染CSS

angularjs

我正在尝试使用angular js将css动态添加到我的html头中。这是示例代码

<div ng-repeat="stylesheet in stylesheets">
        <link href="/myapp/{{stylesheet.href}}" type="{{stylesheet.type}}" rel="stylesheet" media="{{stylesheet.media}}" title="{{stylesheet.title}}" />
</div>

这段代码按预期工作,但是当浏览器加载页面时,它尝试使用原始的angularjs模板获取CSS资源,并且在firebug的网络标签中看到“ 404 not
found error”。

Eg: request http://localhost:8080/myapp/%7B%7Bstylesheet.href%7D%7D, status 404

页面完全加载后,它将替换模板值并加载适当的CSS。

有没有一种方法可以避免404错误,并使其在angularjs处理后加载CSS?


阅读 266

收藏
2020-07-04

共1个答案

一尘不染

您应该使用ng-href而不是href。

<link ng-repeat="stylesheet in stylesheets" ng-href="{{stylesheet.href}}" type="{{stylesheet.type}}" rel="stylesheet" />

2020-07-04