1

我正在尝试根据范围变量设置 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'}}">

但以上都没有奏效

4

4 回答 4

1

background值将由三元运算符 & 设置,也使用{&}代替{{}}插值。

基本上ng-style指令要求JSON& 在内部使用element.css(JSON)

<div ng-style="{'background' : filters.area ? '#424242' : '#ff0000'}">
于 2015-07-27T14:39:39.883 回答
1

您在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;
}

jsFiddle

于 2015-07-27T14:48:00.673 回答
0

您需要有一对“{}”。此代码可以通过使用轻松修复

<div ng-style="{filters.area ? 'background:#424242' : 'background:#ff0000'}">
于 2015-07-27T14:41:11.017 回答
0

小提琴: 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>
于 2015-07-27T14:53:04.110 回答