Ввести угловой модуль с помощью метода $ocLazyLoad.inject
Пытаюсь внедрить модуль Angular в мой основной модуль, используя oclazyload. Обратите внимание, я не использую RequireJs или oclazyload для загрузки файла JavaScript в настоящее время. Сейчас я добавил модуль внутри тега Index HTML Script.
Метод ввода выполняется без ошибок. Но когда я регистрирую $ocLazyLoad.getModules(), я не вижу модуль, который я хотел внедрить.
Любая помощь с благодарностью.
Встроенный скрипт:
<script type="text/javascript">
var app = angular.module("ngNextGenWidget", []); //This is the module to be injected
app.factory('nextGenWidget', function () {
return {
constructControl: function ($compile, $scope) {
//Compile html fragment
var compileFunction = $compile("<div tools-Home-Page></div>")
//Get html output from directive after applying $scope
var htmloutputFromDirective = compileFunction($scope);
return htmloutputFromDirective;
}
}
});
app.directive('toolsHomePage', function () {
return {
restrict: 'A',
scope: true,
templateUrl: '/Content/Templates/DemoTemplate-1.html',
controller: ['$scope', function ($scope) {
$scope.name = 'Home Page';
}]
}
});
</script>
Основное приложение:
appLazy.directive('testComponent', function () {
return {
restrict: 'E',
link: function (scope, element, attrs) {
scope.Execute(attrs, element, attrs.moduleName);
},
controller: ['$scope', '$compile', '$ocLazyLoad',
function ($scope, $compile, $ocLazyLoad) {
$scope.Execute = function (attr, element, moduleName) {
$ocLazyLoad.inject(moduleName);//trying to inject the module
var htmloutputFromDirective =
$nextGenWidget.constructControl($compile, $scope);
$(element).append(htmloutputFromDirective);
}
}]
};
});