0

私の問題は簡単です:私はこれをやっています:

<div class="text-center tag row class_{{infoticket.tags[0]}}">{{infoticket.tags[0]}}</div>
<div ng-repeat="item in ticketcontent track by $index">
    <div style="display: block" 
         class="container row col-md-offset-1 col-md-8" 
         ng-class="{true: 'agent', false: 'collab_infoticket.tags[0]'}
                   [item.author_id == 591119252 || 
                    item.author_id == 619780882 || 
                    item.author_id == 653783901 || 
                    item.author_id == 645192392 || 
                    item.author_id == 513340771 || 
                    item.author_id == 513345171]">
        <div ng-class="mybind"   ng-bind-html="item.html_body"></div>
        <div>{{item.created_at | date}}</div>
        <div ng-switch="item.author_id">
            <div ng-switch-when="591119252">Agent: Mystique</div>
            <div ng-switch-when="619780882">Agent: Batman </div>
            <div ng-switch-when="653783901">Agent: Superman </div>
            <div ng-switch-when="645192392">Agent:Iron Man </div>
            <div ng-switch-when="513340771">Agent:Green Hornet </div>
            <div ng-switch-when="513345171">Agent:Tornade </div>
            <div ng-Switch-Default>Collaborateur: {{myname}}</div>
        </div>
    </div>

問題は、ほとんどの場合、css のクラスが機能しcollab_infoticket.tags[0]ていないため、構文の問題が原因であるかどうかを知りたいです。奇妙なのは、時々それが機能することです! ただし、これclass_{{infoticket.tags[0]}}は常に機能します。

4

1 に答える 1

0

その ng-class で何をしようとしているのかが有効な構文かどうかわかりません。代わりに三項演算子を試してください。

ng-class="(item.author_id == 591119252 || 
           item.author_id == 619780882 || 
           item.author_id == 653783901 || 
           item.author_id == 645192392 || 
           item.author_id == 513340771 || 
           item.author_id == 513345171) 
? 'agent' : collab_infoticket.tags[0]}">

collab_infoticket.tags[0]その変数セットの内容をクラス名として設定する場合は、引用符を付けないでください。そのまま引用すると、変数名自体がクラス名として取得されます。

(または、ディレクティブまたはコントローラー内でこれらすべてを計算することをお勧めします。これはおそらく、テンプレートに埋め込むにはロジックが多すぎるためです。)

于 2016-05-23T16:12:38.277 に答える