一尘不染

angularjs指令:如何封装CSS?

angularjs

在完成了一个Web组件项目之后,我将回到AngularJS。我为指令找不到保持其CSS内部(或封装)的正确方法而感到沮丧。

对于Web组件,我没有这个问题,因为已经可以在模板中嵌入样式标签。

AngularJS指令不是这种情况。

到这里为止,我看到的是:

1)在外部文件:my-directive {color:red;}中定义CSS规则,但这不是封装。

2)使用element.css({})定义内部规则;内部链接函数,但是在这种情况下,样式是内联应用的,因此太重了,无法由外部CSS轻松覆盖。

还有其他方法吗?

谢谢


阅读 249

收藏
2020-07-04

共1个答案

一尘不染

在GitHub上已经创建了一个角度服务,您可以动态地加载CSS文件,也许会有所帮助

https://github.com/Yappli/angular-css-
injector

或者,您可以给GruntJS一个机会,您可以拥有一个非常不错的项目结构,每个模块/文件夹都可以拥有自己的css文件,而Grunt会将所有这些文件捆绑为一个(或多个,取决于您的配置方式)。它易于管理和更改,但是页面上仅加载了一个文件。也许这些链接可能有助于找到可以帮助您的Grunt模块。

https://www.npmjs.org/package/grunt-contrib-
cssmin

2020-07-04