Угловое расширение директивы

0

Я хочу расширить директиву разбиения на страницы (от углового бутстрапа),
но не может найти информацию о том, как расширить встроенные директивы.

В основном я хочу, чтобы paginate выполнял то, что он делает + дополнительные функции отображения [currentPage]/[totalpage] рядом с кнопками разбиения на страницы.


Я не хочу создавать вложенную директиву в разбивке на страницы, просто хочу иметь возможность использовать:

<pagination
        class="pagination-sm"
        boundary-links="true"

        <!-- based on attribute below i want to display 'current/total' -->
        meta-info="true"

        >
</pagination>

Может ли кто-нибудь помочь или перейти к помощи источника?

Теги:
angularjs-directive

2 ответа

2

Существует способ "продлить" стороннюю директиву без изменения исходного кода с помощью $provider.decorator()

См. Http://angular-tips.com/blog/2013/09/experiment-decorating-directives/

Это немного длинный, но удовлетворяющий, когда он работает.

0

Если вам нужно только перегрузить шаблон (а не JS-логику директив/контроллеров), вы можете очень легко обновить ui-bootstrap до ваших потребностей:

в шаблоне просто добавьте:

<script id="template/pagination/pagination.html" type="text/ng-template">
  <ul class="pagination">
      ...
  </<ul>
</script>

Вы также можете поместить это в выделенный файл и использовать grunt/gulp и html2js для автоматического добавления в templateCache:

angular.module('myApp', ['ui.bootstrap']).run(
  ['$templateCache', function($templateCache){
    $templateCache.put('template/pagination/pagination.html', 
"<ul class=\"pagination\">\n" +
    "    ...\n" +
    "</ul>\n");
  }
]);

Это заменит существующие шаблоны. Полезно, если вы хотите добавить имя класса css или обновить метки. Если вам нужно добавить логику, этого недостаточно (см. Другой ответ)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню