2014-06-24 10 views
6

Ich möchte eine mehrsprachige Ansicht mit einem ngTable haben. Dafür setze ich in meinem Controller eine $ scope.translate (eine gültige JSON), die meine Traductions enthält. Aus meiner Sicht möchte ich meine Daten-Titelsatz wie {{translate.code}} etc ...Wie man dynamischen Datentitel in ngtable (angular plugin) setzt

meiner Sicht:

<table ng-table="tableParams" class="table ng-table-responsive"> 
     <tr ng-repeat="product in $data"> 
      <td data-title="'{{translate.code}}'" > <!-- display : {{translate.code}} --> 
       {{product.code}} 
      </td> 
      <td data-title="['translate.reference']" > <!-- display : empty --> 
       {{product.reference}} 
      </td> 
      <td data-title="'Label'" > 
       {{product.label}} 
      </td> 
      <td data-title="'Size'" ng-show="manageSizeColor == true"> 
       {{product.size}} 
      </td> 
      <td data-title="'Quantity'" > 
       <ac-quantity minquantity="1" cquantity="product.quantity"></ac-quantity> 
      </td> 
      <td data-title="'Price'"> 
       <b>{{product.price + currency}}</b> 
      </td> 
     </tr> 
    </table> 

Antwort

10

Ich endlich gefunden habe, wie dies tun, mit diesem Beispiel: https://github.com/esvit/ng-table/issues/53

<td data-title="translate['reference']" > 
    {{product.reference}} 
</td> 

wo übersetzen ist der Umfang variabel und [ ‚Referenz‘] wird die Eigenschaft

13

Wenn Sie angularjs ~1.2 mitverwenden sind, Übersetzung auf data-title funktioniert wie folgt:

<td data-title="'MY_TRANSLATION_ID' | translate" > 
{{product.reference}} 
</td> 
0

Sie können dies auch tun:

<td data-title="getColumnName('your.translate.code')">{{ resultat.number }}</td> 

mit in Ihrem Controller:

$scope.getColumnName = function(column) { 
    return $translate.instant(column); 
}