ngApp への依存関係として「ngAnimate」を含めました。
jQueryファイルで、次を使用してこれにアクセスしようとしています:
angular.injector(['ng', 'angular-sm']).invoke(['$compile', '$timeout' ,function ($compile, $timeout) {
しかし、これは私にエラーを与えます
Error: $injector:unpr
Unknown Provider
Unknown provider: $rootElementProvider <- $rootElement <- $animate <- $compile
そして、これを次のように変更しました:
angular.injector(['ng','ngAnimate', 'angular-sm']).invoke(['$compile', '$timeout' ,function ($compile, $timeout) {
angular.injector(['ng','ngAnimate', 'angular-sm']).invoke(['$animate','$compile', '$timeout' ,function ($animate,$compile, $timeout) {
そして、これらも機能しませんでした。
それから私は試しました:
var app_element = document.querySelector('[ng-app=angular-sm]');
angular.element(app_element).injector().invoke(['$compile', '$timeout' ,function($compile,$timeout) {
つまり、定義された ngApp のインジェクターを使用したところ、機能しました。なんでそうなの ?