我只在角度工作了一家工厂,但是现在我的项目变得太大了,我想把文件分成不同的工厂。
我的工厂是这样的:
angular.module('factories')
.factory('auth', ['$http', '$state', '$window',
function($http, $state, $window) {
var auth = {};
......
return auth;
Userfactory:
angular.module('factories')
.factory('userFactory', ['$http', '$state', '$window',
function($http, $state, $window) {
var userFactory = {};
return userFactory;
我将它们注入我的控制器中:
angular.module('controllers')
.controller('UserCtrl', ['$scope', '$state', 'auth', 'userFactory', 'Facebook',
function ($scope, $state, auth, userFactory, Facebook) {
但是我收到以下错误:
错误:[$ injector:unpr] http://errors.angularjs.org/1.4.7/ $注射器/ unpr?P0 = userFactoryProvider%20%3 C-%20userFactory%20%3 C-%20UserCtrl
我也在引导我的工厂:
angular.module('factories', []);
我将工厂注入app.js:
var app = angular.module('eva', ['ui.router', 'ngMaterial', 'ngMessages',
'controllers', 'factories', 'ngAnimate', '720kb.socialshare',
'angular-loading-bar', 'angular-svg-round-progress', 'pascalprecht.translate',
'facebook']);
与多个工厂合作的正确方法是什么?
答案 0 :(得分:2)
由于工厂位于单独的模块中,因此您需要为controller
模块设置依赖关系,因为它使用factories
模块中的工厂。
执行类似
的操作angular.module('controllers', ['factories'])
.controller('UserCtrl', ['$scope', '$state', 'auth', 'userFactory', 'Facebook',
function ($scope, $state, auth, userFactory, Facebook) {
答案 1 :(得分:2)
检查是否已将脚本导入索引文件。您需要在angular.js文件之后导入两个服务中的文件。