2016-09-05 4 views
2

I 현재 AngularUI 부트 스트랩 모달의 관점에서 ng-class에 다음 식 갖고이 같은AngularJS와 ngClass 표현과 배열 조합

<div class="modal-body mdl-body" 
    ng-class="{ 'is-msg': vm.message.type == 'msg', 
       'height-limit': vm.message.hasHeight }"> 

그러나 나는 또한 원하는 사용자 정의 클래스의 배열을 전달하기를 :

ng-class="vm.message.classes" 

이 모달이 컨트롤러에서 호출되는 경우입니다 :

modalService.open({ 
    type: "okay", 
    title: "Terms & Conditions", 
    content: $scope.APISettingData.signup_term_and_condition, 
    classes: ["h-md", "text-info"], 
    isHtml: true, 
    hasHeight: true 
}); 

두 방법은 서로없이 작동하지만 결합하려고하면 작동하지 않습니다.

가능합니까? 나에게 몇 가지 아이디어와 해결책을 알려주십시오.

+1

당신이 시도 할 수있는 생각에서이 샘플 응용 프로그램, 내부 또는 외부 ...하지 최적의 솔루션을 다른 컨테이너를 만드는 것입니다 확인 –

+1

'NG 급하지만 '은 단순한 지시어입니다. 여러분은 언제나 자신 만의 것을 만들 수 있습니다. 배열 등을 수락합니다. –

답변

1

scope에 변수에 ng-class를 할당하는 것이 좋습니다. 즉 ng-class = customClasses

controller과 같은 것입니다. 이렇게하면 모달에 적용해야하는 클래스를 완벽하게 제어 할 수 있습니다.

편집 :plnkr

$scope.customClasses = { 
    'is-msg': $scope.message.type == 'msg', 
    'height-limit': $scope.message.hasHeight, 
    "h-md" : true, 
    "text-info": true 
}; 
+0

우리는 여전히 클래스를 미리 정의해야합니다. 원하는 클래스를 전달하고 싶습니다. – Nhan

+0

'나는 원하는 수업을 들려주고 싶다. 이것이 실제로 의미하는 것은 무엇인가? –

+0

오해, 나는 당신이 의미하는 바를 알고 있지만 표현을 사용해야 할 필요가 있습니다. 그들은 표현의 다른 부분에서 필요합니다. – Nhan