根据范围变量应用 css 样式
Apply css style depending on scope variable
我正在尝试根据范围变量设置 css 属性。
基本上是这样的:
<div ng-style="background: filters.area ? #f39c12 : #424242">
或者更像是:
<div ng-style="filters.area ? 'background:#f39c12' : 'background:#424242'">
甚至:
<div ng-style="{{filters.area ? 'background:#424242' : 'background:#ff0000'}}">
但是上面的 none 有效
background
值将由三元运算符设置 & 还使用 {
& }
而不是 {{}}
插值。
基本上 ng-style
指令要求 JSON
& 在内部它使用 element.css(JSON)
<div ng-style="{'background' : filters.area ? '#424242' : '#ff0000'}">
您需要一对“{}”。使用
可以轻松修复此代码
<div ng-style="{filters.area ? 'background:#424242' : 'background:#ff0000'}">
ng-style 指令中的表达式存在一些语法错误。试试这个方法,
HTML :
<div ng-controller="MainController">
<div id="customControl" ng-style="filterarea ? {'background': '#f39c12'} : {'background':'#424242'}"></div>
</div>
javaScript : (angularjs)
angular.module("myapp", []).controller("MainController", ["$scope", function($scope){
$scope.filterarea = false;
}]);
CSS :
#customControl{
width : 100px;
height : 100px;
background-color : yellow;
}
Fiddle: http://jsfiddle.net/jpk547zp/3/
如需有关 ng 样式检查的进一步帮助:https://docs.angularjs.org/api/ng/directive/ngStyle
<div ng-app="approvalApp">
<div ng-controller="SimpleApprovalController" >
<div ng-style="filters.area ? {'background-color' : '#424242'} : {'background-color' : '#ff0000'}">
test data
</div>
</div>
</div>
我正在尝试根据范围变量设置 css 属性。
基本上是这样的:
<div ng-style="background: filters.area ? #f39c12 : #424242">
或者更像是:
<div ng-style="filters.area ? 'background:#f39c12' : 'background:#424242'">
甚至:
<div ng-style="{{filters.area ? 'background:#424242' : 'background:#ff0000'}}">
但是上面的 none 有效
background
值将由三元运算符设置 & 还使用 {
& }
而不是 {{}}
插值。
基本上 ng-style
指令要求 JSON
& 在内部它使用 element.css(JSON)
<div ng-style="{'background' : filters.area ? '#424242' : '#ff0000'}">
您需要一对“{}”。使用
可以轻松修复此代码<div ng-style="{filters.area ? 'background:#424242' : 'background:#ff0000'}">
ng-style 指令中的表达式存在一些语法错误。试试这个方法,
HTML :
<div ng-controller="MainController">
<div id="customControl" ng-style="filterarea ? {'background': '#f39c12'} : {'background':'#424242'}"></div>
</div>
javaScript : (angularjs)
angular.module("myapp", []).controller("MainController", ["$scope", function($scope){
$scope.filterarea = false;
}]);
CSS :
#customControl{
width : 100px;
height : 100px;
background-color : yellow;
}
Fiddle: http://jsfiddle.net/jpk547zp/3/
如需有关 ng 样式检查的进一步帮助:https://docs.angularjs.org/api/ng/directive/ngStyle
<div ng-app="approvalApp">
<div ng-controller="SimpleApprovalController" >
<div ng-style="filters.area ? {'background-color' : '#424242'} : {'background-color' : '#ff0000'}">
test data
</div>
</div>
</div>