angularjs - How to call module factory from another module in Angular.js? -
i have problems call factory in 1 module module. using angular.js + require.js. here code module 1:
define(['angular', 'app/admin/app.admin', 'app/admin/account/services'], function (angular, app, services) { app.controller('mainctrl', ['$scope', 'providerservice', function ($scope, providerservice) { $scope.showme = false; $scope.provider = providerservice.providers; }]); return app; }); module 2
define(['angular', 'app/admin/config/index'], function (angular) { 'use strict'; var service = angular.module('app.admin.account.services', []); service.factory('providerservice', ['app.admin.config', function (config) { var providers = [ { name: 'google+', url: config.auth_url + '/google' }, { name: 'facebook', url: config.auth_url + '/facebook' } ]; return { providers: providers }; } ]); return service; }); when try call providerservice in module 2 module 1. got error providerservice not there. can tell me did wrong here?
cheers
it fine use requirejs , angularjs together, term "module" has different meaning between 2 , little bit confusing when comes dependencies.
in requirejs "module" typical javascript file encapsulates piece of code. define dependencies using requirejs in order pass in/around other modules dependencies , ensure correct script load ordering.
in angularjs term "module" means angularjs "module", container number of controller/services/directive etc. declarations.
you use requirejs define order , dependencies of script files. need tell angular "angular modules" module depends on, importing of controllers/services/directives along it.
in 'app/admin/app.admin' make sure define dependencies angularjs module passing in 'app.admin.account.services' module second parameter e.g.
var app = angular.module('app.admin', ['app.admin.account.services']); that import 'app.admin.account.services' module main module making providerservice available dependency injection.
Comments
Post a Comment