【发布时间】:2017-04-03 03:47:47
【问题描述】:
我创建了一个 Service 以使用 Web API 控制器方法从数据库中提取数据。但是每当我注入服务并在控制器中调用服务方法时,它都会显示以下错误:
错误:[$injector:unpr] 未知提供者:$scopeProvider http://errors.angularjs.org/1.5.8/$injector/unpr?p0=copeProvider%20%3C-%20%24scope%20%3C-%20productService
尝试了很多,但无法理解错误的真正所在!
这是我的 AngularJS 模块代码:
var app = angular.module("Demo", ["ngRoute"])
这是我的 RouteConfig
app.config(function($routeProvider, $locationProvider) {
$routeProvider.when("/products/details/:id",
{
templateUrl: "Temaplates/details.html",
controller: "productDetailsController"
})
})
这是我的服务:
app.factory('productService',
function($scope, $http, $routeParams) {
return {
getDataById: function() {
alert("Hello I am invoked");
$http({
method: "GET",
url: "http://localhost:43618/api/Products",
params: { id: $routeParams.id }
})
.then(function(response) {
$scope.product = response.data;
})
}
};
});
这是我的 AngularJS 控制器
app.controller("productDetailsController", function ($scope, $http, $routeParams, $location, productService) {
$scope.message = "Product Details";
$scope.product = productService.getDataById();
})
到底哪里错了!!请帮忙!!
【问题讨论】:
-
$routeProvider.when("/products/details/:id", 不像 $routeProvider..when("/products/details/:id",
-
哈哈!!这实际上不是问题!这只是输入错误:)
-
"/products/details/"+id
标签: javascript angularjs