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";
}
}
});