AngularJS未知提供者
AngularJS Unknown Providor
我得到以下错误:
Uncaught ReferenceError: productresource is not definedangular.js:12416错误:[$injector:unpr]未知提供商:productResourceProvider <- productResource <- ProductListCtrlhttp://errors.angularjs.org/1.4.5/$喷射器/unpr ? p0 = productResourceProvider % 20% 3 c - 3 c % 20 productresource % 20% % 20 productlistctrl
这是我的观点:
<head>
<title>Acme Product Management</title>
<script src="Scripts/angular.js"></script>
<script src="app/app.js"></script>
<script src="app/products/productListCtrl.js"></script>
<link href="css/bootstrap.css" rel="stylesheet" />
<link href="css/app.css" rel="stylesheet" />
<script src="Scripts/angular-resource.js"></script>
<script src="common/services/common.services.js"></script>
<script src="common/services/productResource.js"></script>
<script src="Scripts/angular-mocks.js"></script>
<script src="common/services/productResourceMock.js"></script>
</head>
<body ng-app="productManagement">
<div class="panel panel-primary"></div>
<div class="panel-heading" style="font-size:large">
Product List
</div>
<div class="panel-body">
<table class="table" ng-controller="ProductListCtrl as vm">
<thead>
<tr>
<td><button type="button" class="btn btn-primary" ng-click="vm.toggleImage()">{{vm.showImage ? "Hide" : "Show" }} Image</button></td>
<td>Product</td>
<td>Code</td>
<td>Available</td>
<td>Price</td>
</tr>
</thead>
<tbody>
<tr ng-repeat="product in vm.products">
<td><img ng-if="vm.showImage" ng-src="{{product.imageUrl}}" style="width:50px; margin:2px" title="{{product.productName}}" /></td>
<td>{{product.productName}}</td>
<td>{{product.productCode}}</td>
<td>{{product.releaseDate}}</td>
<td>{{product.price | currency}}</td>
</tr>
</tbody>
</table>
</div>
这是我的控制器:
(function () {
"use strict";
angular
.module("productManagement")
.controller("ProductListCtrl", ['productResource', ProductListCtrl]);
function ProductListCtrl(productResource) {
var vm = this;
productResource.query(function (data) {
vm.products = data;
});
vm.showImage = false;
vm.toggleImage = function () {
vm.showImage = !vm.showImage;
}
}
}());
这是我的常用服务:
(function () {
"use strict";
angular
.module("common.services", ["ngResource"]);
}());
下面是我的ProductResource服务:
(function () {
"use strict";
angular
.module("common.services")
.factory("productResource", ['$resource', productResource]);
function productResource($resource) {
return $resource("/api/products/:productId")
}
}());
这是我的productResourceMock模块。
(function () {
"use strict";
var app = angular.module("productResourceMock", ["ngMockE2E"]);
app.run(function ($httpBackend) {
var products = [
{
"productId": 1,
"productName": "Leaf Rake",
"productCode": "GDN-0011",
"releaseDate": "March 19, 2009",
"description": "Leaf rake with 48-inch handle.",
"cost": 9.00,
"price": 19.95,
"category": "garden",
"tags": ["leaf", "tool"],
"imageUrl": "that.jpg"
},
{
"productId": 5,
"productName": "Hammer",
"productCode": "TBX-0048",
"releaseDate": "May 21,2013",
"description": "Curved claw steel hammer",
"cost": 1.00,
"price": 8.99,
"category": "toolbox",
"tags": ["tool"],
"imageUrl": "this.jpg"
}
];
var productUrl = "/api/products"
$httpBackend.whenGET(productUrl).respond(products);
})
}());
谁能告诉我我做错了什么? 我想你只是打错了。将product的所有实例更改为product。
正确的依赖注释应该是:
.factory("productResource", ['$resource', productResource]);
注意,'$resource'
是一个字符串。您正在传递一些$resource
未声明的变量,因此第一个纯javascript ReferenceError
。第二个是Angular抛出的,因为你从来没有提供依赖信息。
相关文章:
- 对广告服务器的未知信标调用
- Axios spread()具有未知数量的回调参数
- 反汇编的javascript jit代码调用未知函数
- 未知”<#"构造
- Safari 5.1.7下载文件名未知的csv文件
- 带有 JavaScript 随机数函数的未知问题
- 哪个原型用于创建具有未知标记的节点
- xmlHttp.responseText未知错误定义
- JavaScript删除未知侦听器
- 因果报应测试中的未知提供者
- 有角度的“;未知提供者”;在约曼应用程序中使用Grunt Build缩小后出错
- 错误:$injector:unp未知提供者:未知提供者:bProvider<-b
- Angular uibModal,Resolve,未知提供者
- Angularjs - 未知的提供者:
- 当添加一个服务和一个过滤器或多个服务时,我在做什么导致未知提供者
- 永远运行sail.js+angularjs项目得到未知提供者:a
- 又一个'未知提供者'用于AngularJS服务
- AngularJS未知提供者
- 尽管其他控制器和服务工作,未知的提供者错误
- 因果报应错误:未知提供者