如何在 angular js 中创建 css 指令?
How to create a css directive in angular js?
我正在尝试将多个元素的样式从 less 文件移动到 angular 指令中。我已经创建了指令,但不清楚应该如何完成。
例如,如果我有一个如下所示的 html 文件:
<div mylessDirective>
<div class="style1">Hello World</div>
<div class="style2">Hello World2</div>
<div class="style3">Hello World3</div>
<div>
这里我有 3 个 div,具有 3 种不同的样式,样式 1、样式 2 和样式 3。是否可以调用一个指令 (mylessDirective),如图所示,其中包含与此相关的所有 less 样式 class ,以便它捡起它们。如果是这样,任何人都可以建议应该如何完成该指令,例如,如果我想为三种样式中的每一种设置不同的背景颜色。感谢您的帮助!
不知道我是否理解得很好,但我认为这是解决有关指令和 CSS 样式的一般问题的好方法:
HTML:
<div ng-app="myApp">
<div myless-directive>
<div ng-style="style1">Hello World</div>
<div ng-style="style2">Hello World2</div>
<div ng-style="style3">Hello World3</div>
<div>
</div>
JS:
angular.module('myApp', [])
.directive('mylessDirective', function () {
return {
restrict: 'A',
link: function (scope, elm, attrs) {
scope.style1 = {'background-color': 'red'};
scope.style2 = {'background-color': 'green'};
scope.style3 = {'background-color': 'blue'};
}
};
});
您可以使用 ngClass 指令并构建您自己的样式名称:
<div>
<div ng-class="style1">Hello World</div>
<div ng-class="style2">Hello World2</div>
<div ng-class="style3">Hello World3</div>
<div>
我正在尝试将多个元素的样式从 less 文件移动到 angular 指令中。我已经创建了指令,但不清楚应该如何完成。
例如,如果我有一个如下所示的 html 文件:
<div mylessDirective>
<div class="style1">Hello World</div>
<div class="style2">Hello World2</div>
<div class="style3">Hello World3</div>
<div>
这里我有 3 个 div,具有 3 种不同的样式,样式 1、样式 2 和样式 3。是否可以调用一个指令 (mylessDirective),如图所示,其中包含与此相关的所有 less 样式 class ,以便它捡起它们。如果是这样,任何人都可以建议应该如何完成该指令,例如,如果我想为三种样式中的每一种设置不同的背景颜色。感谢您的帮助!
不知道我是否理解得很好,但我认为这是解决有关指令和 CSS 样式的一般问题的好方法:
HTML:
<div ng-app="myApp">
<div myless-directive>
<div ng-style="style1">Hello World</div>
<div ng-style="style2">Hello World2</div>
<div ng-style="style3">Hello World3</div>
<div>
</div>
JS:
angular.module('myApp', [])
.directive('mylessDirective', function () {
return {
restrict: 'A',
link: function (scope, elm, attrs) {
scope.style1 = {'background-color': 'red'};
scope.style2 = {'background-color': 'green'};
scope.style3 = {'background-color': 'blue'};
}
};
});
您可以使用 ngClass 指令并构建您自己的样式名称:
<div>
<div ng-class="style1">Hello World</div>
<div ng-class="style2">Hello World2</div>
<div ng-class="style3">Hello World3</div>
<div>