具有多个条件表达式和多个样式属性的Angular ng-style

时间:2016-07-22 10:16:24

标签: html css angularjs

我想使用ng-style为手风琴组添加多个样式属性,条件为ng-class不适用于手风琴。

以下是我的尝试方式:

ng-style="{ border: ivrMessageForm.ivr_messagetitle.$error.required && !isFormValid ? '2px solid' : 'none' }"

这很好用。但是也想添加border-color

我试过了:

ng-style="{ border: ivrMessageForm.ivr_messagetitle.$error.required && !isFormValid ? '2px solid' : 'none', border-color: ivrMessageForm.ivr_messagetitle.$error.required && !isFormValid  ? 'red' : 'none'}"

但它给了我解析错误。

我也试过这个,但同样的解析错误:

ng-style="ivrMessageForm.ivr_messagetitle.$error.required ? {border:'3px solid', border-color: 'red'} : {border:'none', border-color: 'none'}"

任何人都可以帮助我如何使用ng-style添加多个条件的多个样式属性。

2 个答案:

答案 0 :(得分:5)

您应该将单引号添加到' border-color'

ng-style="{ border: ivrMessageForm.ivr_messagetitle.$error.required && !isFormValid ? '2px solid' : 'none', 'border-color': ivrMessageForm.ivr_messagetitle.$error.required && !isFormValid  ? 'red' : 'none'}"

答案 1 :(得分:1)



tab[!tab[NA_integer_], on = names(tab)]

var myApp = angular.module('myApp',[]);

function MyCtrl($scope) {
	$scope.styleobj = {};
  $scope.borderflag = true;
  $scope.widthflag = true;
  $scope.getStyle= function(){  
     if($scope.borderflag){
				$scope.styleobj.border = '2px solid';
     }if($scope.widthflag){
     		$scope.styleobj.width = '100%';
        $scope.styleobj.font = 'italic bold 12px/30px Georgia, serif';
     }
     console.log($scope.styleobj);
     return $scope.styleobj;
  }
	
    $scope.name = 'Arindam Banerjee';
    
    
}




##