angularjs – 错误:未知提供者:employeesProvider < - 员工

前端之家收集整理的这篇文章主要介绍了angularjs – 错误:未知提供者:employeesProvider < - 员工前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个时间试图找出为什么我得到了角度的未知提供者错误.我已经检查了所有其他问题,我可以找到这个主题,最建议在依赖注入错误.但是,对我来说似乎并不像我忘记注入任何东西.我一直在试图让解决方案的属性this post by Misko一样工作.我可以在解决之后控制台登出员工数据,但是我收到了未知的提供者错误,从而阻止了数据在页面显示.

这是我的路由器

"use strict";

    var app = angular.module('app',[
      'employeeServices'
    ]);

    app.config(appRouter);

    function appRouter ($routeProvider) {
      $routeProvider
        .when('/employees/:account_id',{
          controller: 'EmployeeCtrl',templateUrl: 'view/employee/view.html',resolve: employeeCtrl.resolve
        })

        .otherwise({ redirectTo: '/' });
    }

这是我的控制器

var employeeCtrl = app.controller('EmployeeCtrl',[
      '$scope','employees',function ($scope,employees) {
        $scope.employee = employees;
        console.log($scope.employee);
      }
    ]);

    employeeCtrl.resolve = {
      employees: function (Employee,$q,$route) {
        var deferred = $q.defer();
        console.log("current params: ",$route.current.params.account_id);
        Employee.getOne({ id: $route.current.params.account_id },function (successData) {
          deferred.resolve(successData);
        },function (errorData) {
          deferred.reject(errorData);
        });
        return deferred.promise;
      }
    };

和我的工厂:

angular.module('employeeServices',['ngResource'])
      .factory('Employee',['$resource',function ($resource) {
        return $resource('/employees/:id/json',{
            id: '@account_id'
          },{
            'save': {
              method: 'POST',isArray: false
            },'update': {
              method: 'PUT',params: {
                id: '@account_id'
              }
            },'remove': {
              method: 'DELETE','getOne': {
              method: 'GET',params: {
                id: '@account_id'
              },'query': {
              method: 'GET',isArray: true
            }
          }
        );
      }]);

任何建议将非常感谢!

所以问题是我在我的部分视图中通过ng控制器设置了EmployeeCtrl控制器,就像这样:
<div class="viewPage" ng-controller="EmployeeCtrl">

但是,使用解析时,必须通过路由器完成控制器的设置,以使其在运行时可用.我删除了ng-controller =“EmployeeCtrl …

<div class="viewPage">

…和presto,就像没有发生任何事情一样.

我必须注意到,我从the AngularJS IRC channel接受了那种耐心的人的帮助

猜你在找的Angularjs相关文章