AngularJs SmartTable: добавление переменных шаблона

Я использую SmartTable, в этой таблице у меня есть шаблон нумерации страниц. В нижнем колонтитуле таблицы мне нужно отобразить "страница 1 из X", поэтому я использую 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>

Все хорошо, currentPage а также numPages хорошо отображаются.

Теперь мне нужно перевести слово ofскажем, по-французски, поэтому я добавил новую переменную $scope.ofText = "de"... и я использую его в шаблоне HTML:

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

не отображает текст вместо {{ofText}}...

Что я должен сделать, чтобы добавить пользовательские переменные в мой шаблон?

1 ответ

@Serge, вы можете добавить его в файл "pageSelect.directive.js". Я добавил перевод как переменную области видимости в директиву внутри функции ссылки, и он отображается. Пожалуйста, посмотрите плунжер.

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";
        }
      }
    });
Другие вопросы по тегам