AngularJs SmartTable:添加模板变量

时间:2017-08-31 15:00:14

标签: angularjs smart-table

我使用SmartTable,在该表中我有分页模板。 在表格的页脚中,我需要显示“X的第1页”,因此我使用了html模板:

<tfoot>
    <tr>
        <td colspan="{{ct.headCells.length}}" class="text-center">
            <div st-items-by-page="itemsPerPage" 
                 st-pagination="" 
                 st-template="/templates/pagination.custom.html">
            </div>
        </td>
    </tr>
</tfoot>

在我的pagination.html模板中

<li><page-select>{{currentPage}}</page-select> of {{numPages}}</li>

好的,currentPagenumPages都能很好地显示出来。

现在,我需要用法语翻译单词of,所以我添加了一个新变量$scope.ofText = "de" ...我在HTML模板中使用它:

<li><page-select>{{currentPage}}</page-select> {{ofText}} {{numPages}}</li>

不会显示任何文字而非{{ofText}} ...

如何在模板中添加自定义变量?

1 个答案:

答案 0 :(得分:0)

@Serge,您可以将其添加到&#34; pageSelect.directive.js&#34;文件。我已在链接函数内的指令中添加了作为范围变量的转换,并显示它。请参阅plunker。

https://plnkr.co/edit/bunKjbMpQm8bevUYacFt?p=preview

angular.module('myApp')
    .directive('pageSelect', function() {
      return {
        restrict: 'E',
        template: '<input type="text" class="select-page" ng-model="inputPage" ng-change="selectPage(inputPage)">',
        link: function(scope, element, attrs) {
          scope.$watch('currentPage', function(c) {
            scope.inputPage = c;
          });
          scope.ofStr="de";
        }
      }
    });