我有这个不加载样式的组件。模板虽然正确加载。
// client/imports/navbar/navbar.ts
import {Component} from "@angular/core";
@Component({
selector: 'navbar',
templateUrl: 'client/imports/navbar/navbar.html',
styleUrls: ['client/imports/navbar/navbar.css']
})
export class Navbar {}
到目前为止,我已经尝试过:
- 设置
base href
在/client/index.html
- 在引导程序中注入
base href
at 基础组件/client/app.ts
- 加载样式:
styleUrls: [
'/client/imports/navbar/navbar.css',
'client/imports/navbar/navbar.css',
'imports/navbar/navbar.css',
'./navbar.css',
'navbar.css'
]
但是,根文件夹中的组件加载样式没有任何问题:
// client/app.ts
import {Component} from "@angular/core";
@Component({
selector: 'app',
templateUrl: 'client/app.html',
styleUrls: ['app.css']
})
export class AppComponent{}
我已经知道了:
- Angular 样式不支持相对路径
- 路径不应以斜杠开头
/
- 路径应该指向根目录,因为我使用 SystemJs (Meteor)。
但无论如何我都试过了。
更新:
我发现使它成为 moular 的唯一方法是在同一个模板 html 文件中声明样式,如下所示:
<style>
.my-class{
...
}
</style>
<div class="my-class">
...
</div>