程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了错误:未知提供者:employeesProvider <-雇员大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决错误:未知提供者:employeesProvider <-雇员?

开发过程中遇到错误:未知提供者:employeesProvider <-雇员的问题如何解决?下面主要结合日常开发的经验,给出你关于错误:未知提供者:employeesProvider <-雇员的解决方法建议,希望对你解决错误:未知提供者:employeesProvider <-雇员有所启发或帮助;

所以问题是我正在局部视图中通过ng-controller设置EmployeeCtrl控制器,如下所示:

    <div class="vIEwPage" ng-controller="EmployeeCtrl">

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

    <div class="vIEwPage">

……而且,就像没有任何事情发生一样。

我必须指出,我在AngularJS IRC频道上得到了善良,耐心的同伴的帮助…

解决方法

我有一段时间想弄清楚为什么我在Angular中收到Unknownprovider错误。我检查了我可以在该主题上找到的所有其他问题,并且大多数都提出了依赖项注入中的错误。但是,在我看来,好像没有忘记注入任何东西。我一直在尝试使resolve属性像Misko的这篇文章一样工作。解决该问题后,我可以控制台注销员工数据,但是随后出现Unknown provider错误,这将阻止数据显示在页面上。

这是我的路由器:

    "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
            }
          }
        );
      }]);

任何建议将不胜感激!

大佬总结

以上是大佬教程为你收集整理的错误:未知提供者:employeesProvider <-雇员全部内容,希望文章能够帮你解决错误:未知提供者:employeesProvider <-雇员所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: