在完成了一个Web组件项目之后,我将回到AngularJS。我为指令找不到保持其CSS内部(或封装)的正确方法而感到沮丧。
对于Web组件,我没有这个问题,因为已经可以在模板中嵌入样式标签。
AngularJS指令不是这种情况。
到这里为止,我看到的是:
1)在外部文件:my-directive {color:red;}中定义CSS规则,但这不是封装。
2)使用element.css({})定义内部规则;内部链接函数,但是在这种情况下,样式是内联应用的,因此太重了,无法由外部CSS轻松覆盖。
还有其他方法吗?
谢谢
在GitHub上已经创建了一个角度服务,您可以动态地加载CSS文件,也许会有所帮助
https://github.com/Yappli/angular-css- injector
或者,您可以给GruntJS一个机会,您可以拥有一个非常不错的项目结构,每个模块/文件夹都可以拥有自己的css文件,而Grunt会将所有这些文件捆绑为一个(或多个,取决于您的配置方式)。它易于管理和更改,但是页面上仅加载了一个文件。也许这些链接可能有助于找到可以帮助您的Grunt模块。
https://www.npmjs.org/package/grunt-contrib- cssmin