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

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


person serge    schedule 31.08.2017    source источник
comment
где вы можете решить свой вопрос?   -  person Vijay Venugopal Menon    schedule 01.09.2017
comment
Я закончил с st-template="/templates/pagination.{{lang}}.html">...   -  person serge    schedule 01.09.2017


Ответы (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";
        }
      }
    });
person Vijay Venugopal Menon    schedule 31.08.2017