2017-02-24 5 views
0

値からclassnameを追加する構文を探していました。
あきらめる直前に、私はhereという答えを見つけました。
問題は、通常と同じように,を追加して条件を追加できないことです。ng-classは動的な値からクラス名を設定し、余分な条件を追加しました

Ex2が正しく動作するための正しいの構文は何ですか?

Ex1の:これは動作します:

ng-class="{'{{obj.status}}' : obj.status}" 

Ex2の:これは動作しません:(コンソールでもエラーなし)

ng-class="{'{{obj.status}}': obj.status, 'isEmployee': status == 'isEmployee'}" 

更新日:

私はそれを動作させるために何をしたか知っている...私の地獄が起こっているかを把握するためにいくつかの時間を与える>すべての今、それが動作

を<を、関連する何も変更しませんでした。それは基本的に同じデータだから、私が何かを変更しようとしていたと私はそれを動作製コントローラにこれを追加しました:

$scope.status= obj.status 

これは私の場合は解決策になります。

ボタンの正確なコードをコピーして貼り付けてください。すべてのボタンが機能するはずだからです。あなたはそれに何か間違っている点を見つけることができます

<md-button ng-class="{'{{editedObject.interviewStatus}}' : editedObject.interviewStatus, 'isEmployee': interviewStatus == 'isEmployee'}" aria-label="OpenStatusMenu" ng-click="$mdMenu.open($event)"> 
+0

。私はそれを修正します。 –

+0

$ scope.statusの値はisEmployeeですか? –

答えて

0

コンマが動作するはずです。あなたは最後に"を忘れているかもしれませんか?

+0

私はそれが今動くどんな関連しても変更しなかった><私にそれを把握する時間を与えてください。とにかくおかげでみんな。 –

1

あなたのobjとステータス値は次のようになっていますか?ここだけのタイプミスだ

var app = angular.module('myApp', []); 
 
app.controller('myCtrl', function($scope,$http,$q) { 
 
    $scope.obj = { 
 
    "status":"abc" 
 
    } 
 
    $scope.status = "isEmployee"; 
 
});
.abc{ 
 
    color: blue; 
 
    } 
 
    .isEmployee{ 
 
    background-color: pink; 
 
    }
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="myApp" ng-controller="myCtrl"> 
 
<span ng-class="{'{{obj.status}}': obj.status, 'isEmployee': status == 'isEmployee'}">both class added</span> 
 
</div>

+0

私は、他の '['..']'の構文があるかもしれないと思っていました。私は全体の部分を書き換えます、多分私はタイプミスまたは何かを持っています。デモをありがとう! –