如何在ngtable(angular插件)中设置动态数据标题

时间:2014-06-24 07:45:05

标签: angularjs angular-ui ngtable

我想要一个带有ngTable的多语言视图。为此,我在我的控制器中设置了包含我的traductions的$ scope.translate(一个有效的json)。在我看来,我想设置我的数据标题,如{{translate.code}}等...

我的观点:

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

3 个答案:

答案 0 :(得分:13)

如果您将angularjs ~1.2angular-translate ~2.6.1一起使用,data-title上的翻译就是这样的:

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

答案 1 :(得分:10)

我终于找到了这个例子,用这个例子: https://github.com/esvit/ng-table/issues/53

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

其中translate是范围变量,['reference']是属性

答案 2 :(得分:0)

你也可以这样做:

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

在你的控制器中:

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