加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-17 07:43:00 所属栏目:安全 来源:网络整理
导读:我有一个时间试图找出为什么我得到了角度的未知提供者错误.我已经检查了所有其他问题,我可以找到这个主题,最建议在依赖注入错误.但是,对我来说似乎并不像我忘记注入任何东西.我一直在试图让解决方案的属性像 this post by Misko一样工作.我可以在解决之后控
我有一个时间试图找出为什么我得到了角度的未知提供者错误.我已经检查了所有其他问题,我可以找到这个主题,最建议在依赖注入错误.但是,对我来说似乎并不像我忘记注入任何东西.我一直在试图让解决方案的属性像 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接受了那种耐心的人的帮助

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读