Я хочу добавить несколько атрибутов стиля для группы аккордеона, используя 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-стиль.
Вы должны добавить одинарные кавычки в 'border-color'
ng-style="{ border: ivrMessageForm.ivr_messagetitle.$error.required && !isFormValid ? '2px solid' : 'none', 'border-color': ivrMessageForm.ivr_messagetitle.$error.required && !isFormValid ? 'red' : 'none'}"
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';
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.10/angular.min.js"></script>
<div ng-app="myApp" ng-controller="MyCtrl">
Hello, {{name}}!
<p ng-style="getStyle()">
Hello, {{name}}!
</p>
</div>
##