Error: $injector:unknown provider



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*/
 }])

你需要在这里使用路由吗您有两个选择:

  1. angular.module("app",['ngRoute']);

在angular中是lib,但第二个选项更好

2。angular.module("app",['ui.router']);

在 中配置$state的提供程序后的

angular.module("app",['ui.router']).config(function($stateProvider,...){};

所有关于ui router的信息,你可以在这里阅读ui router

示例

最新更新