Создание Angular JS плагин
В настоящее время у нас есть плагин Jquery, который, когда пользователь включает файлы.js и css на свою страницу, может присоединиться к div и преобразовать div в элемент управления jquery.
В последнее время я начал делать много угловых JS и создал хороший сайт с его помощью. Мне интересно, можно ли создать угловой JS для создания плагина, который можно вставить в любой интерфейс независимо от технологии, аналогично тому, как это делает плагин jquery.
Т.е. идея заключается в том, чтобы попросить использование включить angular.js, mycontrol.js, а затем попросить их включить директиву в 1 строку, где бы на странице они не отображали плагин, т.е.
То есть, но также позволяют им контролировать настройки по умолчанию для управления и доступа к определенным функциям обратного вызова.
Мне просто интересно, если это правильное использование угловых, или лучше придерживаться jquery для этой функциональности.
1 ответ
Да, вы определенно можете построить угловой модуль для интеграции в любом месте. Думайте об этом как угловое приложение, делающее только ваши вещи.
Я делаю это так:
- напишите мое угловое приложение, например "myModule"
- "скомпилируйте" его с помощью gulp / grunt, чтобы получить один уникальный скрипт, в идеале включающий angularjs, мой код.js и мои HTML-шаблоны в $templateCache
- включить директиву ng-app="myModule" где-нибудь в моем HTML
используй это
<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();