Создание Angular JS плагин

В настоящее время у нас есть плагин Jquery, который, когда пользователь включает файлы.js и css на свою страницу, может присоединиться к div и преобразовать div в элемент управления jquery.

В последнее время я начал делать много угловых JS и создал хороший сайт с его помощью. Мне интересно, можно ли создать угловой JS для создания плагина, который можно вставить в любой интерфейс независимо от технологии, аналогично тому, как это делает плагин jquery.

Т.е. идея заключается в том, чтобы попросить использование включить angular.js, mycontrol.js, а затем попросить их включить директиву в 1 строку, где бы на странице они не отображали плагин, т.е.

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

Мне просто интересно, если это правильное использование угловых, или лучше придерживаться jquery для этой функциональности.

1 ответ

Да, вы определенно можете построить угловой модуль для интеграции в любом месте. Думайте об этом как угловое приложение, делающее только ваши вещи.

Я делаю это так:

  1. напишите мое угловое приложение, например "myModule"
  2. "скомпилируйте" его с помощью gulp / grunt, чтобы получить один уникальный скрипт, в идеале включающий angularjs, мой код.js и мои HTML-шаблоны в $templateCache
  3. включить директиву ng-app="myModule" где-нибудь в моем HTML
  4. используй это

    <script src="myApp.js"></script>
    <div ng-app="myModule">
        <my-cool-directive></my-cool-directive>
    </div>
    

Вы можете получить доступ к угловому миру из "внешнего мира" следующим образом:

var elem = angular.element(document.querySelector('[ng-app]'));
var injector = elem.injector();
var myService = injector.get('myService');
var usefulData = myService.getData();
Другие вопросы по тегам