我有一段時間試圖找出爲什麼我在Angular中收到未知提供者錯誤。我已經檢查了我能找到的關於這個主題的其他所有問題,並且大多數提示依賴注入中存在錯誤。但是,在我看來,我忘了注入任何東西。我一直試圖讓解析屬性像this post by Misko一樣工作。我能夠在解決了員工數據後控制檯註銷,但隨後出現「未知提供者」錯誤,這會導致數據無法顯示在頁面上。錯誤:未知提供者:employeesProvider < - employees
這裏是我的路由器:
"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',
params: {
id: '@account_id'
}
},
'getOne': {
method: 'GET',
params: {
id: '@account_id'
},
isArray: false
},
'query': {
method: 'GET',
params: {
id: '@account_id'
},
isArray: true
}
}
);
}]);
任何建議將非常感謝!
是什麼在你的控制器解決功能?對我來說沒有意義。 –