Ответ 1
Абсолютно нет.
Прежде всего, две директивы могут перемещаться друг над другом (см. JSFiddle, как это предусмотрено Joel Skrepnek) и, как правило, плохой дизайн.
Вы можете использовать функцию, другое поле или еще немного встроенной логики.
Инлайн-Logic:
<div ng-show="isBlonde && !hasBlueEye">Mary is blonde and she has green eyes</div>
поле:
<div ng-show="shouldShowThisDiv">Mary is blonde and she has green eyes</div>
Функция
<div ng-show="shouldShowThisDiv()">Mary is blonde and she has green eyes</div>
$scope.shouldShowThisDiv = function(){
return $scope.isBlonde && !$scope.hasBlueEye;
}
Моя рекомендация заключается в использовании другого поля или функции, если необходимо проверить более двух значений.