我想知道为AngularDart组件设置样式的最佳方法是什么?我希望能够将基本样式拆分为单独的CSS文件,然后在我的组件中以某种方式(可能是@import
,如果有角度dart支持它)包含它。
标准NgComponent
允许我只添加一次CSS文件,如下例所示:
@NgComponent(
selector: 'rating',
templateUrl: 'packages/angular_dart_demo/rating/rating_component.html',
cssUrl: 'packages/angular_dart_demo/rating/rating_component.css',
publishAs: 'ctrl',
map: const {
'max-rating': '@maxRating',
'rating': '<=>rating'
})
如果我的CSS以某种方式分成多个文件怎么办?如何在组件中包含所有这些?
目前,我开始注意到虽然AngularDart组件有助于使组件可重用,但它们不是最易维护的 - CSS中有很多复制粘贴。如果可以拆分样式,那么组件将更易于维护(即,可以在多个组件中包含基本样式 - 而不是将它们复制粘贴到每个组件的每个css文件中)。
在AngularDart环境中构建组件和css的最佳方法是什么?
答案 0 :(得分:3)
属性cssUrl和applyAuhtorStyles可以同时应用,如下所示。如您所见,除了继承父样式(例如bootstrap)之外,您还可以添加仅在组件范围中可用的组件特定样式(cssUrl)。
@NgComponent(
selector: 'paginate',
templateUrl: 'component/paginate/paginate_component.html',
cssUrl: 'component/paginate/paginate_component.css',
applyAuthorStyles: true,
publishAs: 'ctrl',
map: const {
'page-filter-map' : '<=>pageFilterMap'
}
)
还可以使用名为cssStyle的指令来添加更多控件,如下所示。
<span ng-style="{color:'red'}">Sample Text</span>
答案 1 :(得分:1)
好的,这是答案。要将css放入组件,您可以使用
答案 2 :(得分:0)
如果你看这里:
https://github.com/angular/angular.dart.tutorial/tree/master/Chapter_04/lib/rating
在组件的.dart文件中,有一个包含属性cssUrl的注释。我不确定,但我认为这会将文件耦合到封装的Web Component css。
@NgComponent(
selector: 'rating',
templateUrl: 'packages/angular_dart_demo/rating/rating_component.html',
cssUrl: 'packages/angular_dart_demo/rating/rating_component.css',
publishAs: 'ctrl',
map: const {
'max-rating' : '@maxRating',
'rating' : '<=>rating'
}
)
请注意,要使此程序包/链接正常工作,您需要将文件保存在/ lib文件夹中。