2016-09-05 17 views
2

私は現在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のようなものです。そうすることで、どのクラスをモーダルに適用する必要があるかを完全に制御できます。

EDIT: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

関連する問題