2016-09-05 40 views
2

我现在有在ng-class下面的表达式,在AngularUI引导模态的视图: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

'纳克级'是一个非常简单的指令,你可以随时做出自己的决定,这正是你想要的。接受数组或其他。 –

回答

1

将ng类指定给scope中的变量会更好。即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