我的指令使用HTML文件。HTML文件使用CSS样式表。我需要分发指令js,HTML和CSS文件,因此CSS位置定义需要相对于HTML。
注意:这是我解决HTML位置的方法,我有待解决CSS文件的位置。
我将CSS文件与HTML文件放在同一文件夹中,然后在HTML中定义:
<link rel="stylesheet" href='somefile.css'>
但是,这指向域的根目录,而不是HTML文件的位置。
任何想法如何实现这一目标?
我认为有两种方法可以解决您的问题,因为您不知道伪指令的位置:
解决方案1-古代HTML方式
如果CSS的长度很小,则可以通过style标签将其直接包含在模板HTML本身中。
<style type="text/css">
Add style rules here
</style>
解决方案2-角度方式(最推荐)
使用ngHref指令。
在您的directive.js代码中,您只需将instruction.html的路径放入scope / rootScope变量,然后就可以从instruction.html进行访问
在directive.js中
link: function (scope, iElement, iAttrs) {
scope.htmlPath = <path of templateURL>;
}
在directive.html中
<link rel="stylesheet" ng-href="{{ htmlPath }}/filename.css">
笔记:
我希望您不要使用Gulp构建有角JS代码。但是,如果您使用的是gulp,则可以添加gulp任务,并将所有CSS管道传输到单个CSS并可以注入到索引中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句