gpt4 book ai didi

angularjs - 错误: Unknown provider: employeesProvider <- employees

转载 作者:行者123 更新时间:2023-12-02 20:07:32 26 4
gpt4 key购买 nike

我花了很长时间试图找出为什么我在 Angular 中遇到未知提供者错误。我已经检查了我能找到的关于该主题的所有其他问题,大多数都表明依赖注入(inject)中存在错误。然而,在我看来,我并没有忘记注入(inject)任何东西。我一直在尝试让解析属性像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: '/' });
}

这是我的 Controller

    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',
params: {
id: '@account_id'
}
},
'getOne': {
method: 'GET',
params: {
id: '@account_id'
},
isArray: false
},
'query': {
method: 'GET',
params: {
id: '@account_id'
},
isArray: true
}
}
);
}]);

如有任何建议,我们将不胜感激!

最佳答案

所以问题是我在我的部分 View 中通过 ng-controller 设置 EmployeeCtrl Controller ,如下所示:

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

但是,当使用resolve时, Controller 设置必须通过路由器完成,以便它在运行时可用。我删除了 ng-controller="EmployeeCtrl...

    <div class="viewPage">

...然后转瞬即逝,就像什么都没发生过一样。

我必须指出,我在the AngularJS IRC channel上得到了来自善良、耐心的人们的帮助。 ...

关于angularjs - 错误: Unknown provider: employeesProvider <- employees,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18284793/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com