My service:
angular.module('app').factory('keretHttpSrv', function ($http, $state, $scope, $rootScope, $q, $localStorage) {
/*some code*/
return keretHttpService;
})
我的控制器,
angular.module('app.dashboard')
.controller('DashboardCtrl',
['$scope', 'keretHttpSrv', function ($scope, keretHttpSrv)
{
/*some code*/
}])
我有这个错误:
错误:$injector:unknown provider
我该如何解决这个问题?
工厂没有$scope
解决
angular.module('app').factory('keretHttpSrv', function ($http, $state, $rootScope, $q, $localStorage) {
/*some code*/
return keretHttpService;
})
您正在将'keretHttpSrv'工厂添加到'app'模块,并将'DashboardCtrl'控制器添加到'app.dashboard'模块。要访问工厂,你必须在定义'app.dashboard'时将'app'模块注入到'app.dashboard'
angular.module('app.dashboard', ['app']);
或者将工厂和控制器放在同一个模块
//first define the module
angular.module('app', []);
angular.module('app').factory('keretHttpSrv', function ($http, $state, $scope, $rootScope, $q, $localStorage) {
/*some code*/
return keretHttpService;
})
angular.module('app')
.controller('DashboardCtrl',
['$scope', 'keretHttpSrv', function ($scope, keretHttpSrv)
{
/*some code*/
}])
你需要在这里使用路由吗您有两个选择:
-
angular.module("app",['ngRoute'])
;
在angular中是lib,但第二个选项更好
2。angular.module("app",['ui.router'])
;
angular.module("app",['ui.router']).config(function($stateProvider,...){};
所有关于ui router的信息,你可以在这里阅读ui router
示例