我是angular的新用户,我使用的是umbraco中的以下代码,它正在连接到使用c#构建的服务。
如果需要,我可以提供c#代码。
我正在学习的教程要求我添加这段代码,我相信遗漏了一些东西,但我不知道是什么。可能是因为我使用的是较新版本的umbraco,而本教程使用的是稍旧的版本。
下面是我的.js文件中的完整代码
(function () {
'use strict';
var app = angular.module('orders');
app.factory('dashboardService', ['$q', service]);
function service($q) {
return { getTop5ProductData: getTop5ProductData, getDailySalesData: getDailySalesData };
function getTop5ProductData() {
return $http.get('/backoffice/orders/salesapi/top5').then(
function (response) {
return response.data;
},
function () {
notificationsService.error('Error getting top 5 products');
});
}
//function getTop5ProductData() {
// var modifier = Math.random() * 3;
// return $q.when([
// { productName: 'Apples', value: Math.round(200 / modifier) },
// { productName: 'Oranges', value: Math.round(170 / modifier) },
// { productName: 'Banannas', value: Math.round(160 / modifier) },
// { productName: 'Cherries', value: Math.round(100 / modifier) },
// { productName: 'Nuts', value: Math.round(95 / modifier) }
// ]);
//}
function getDailySalesData() {
var modifier = Math.random() * 3;
return $q.when([
{ day: 1, value: Math.round(130 / modifier) },
{ day: 2, value: Math.round(100 / modifier) },
{ day: 3, value: Math.round(140 / modifier) },
{ day: 4, value: Math.round(90 / modifier) },
{ day: 5, value: Math.round(110 / modifier) },
{ day: 6, value: Math.round(100 / modifier) },
{ day: 7, value: Math.round(80 / modifier) },
{ day: 8, value: Math.round(150 / modifier) },
{ day: 9, value: Math.round(10 / modifier) },
{ day: 10, value: Math.round(90 / modifier) }
]);
}
}
}());
问题在于方法gettop5productdata(此方法连接到web服务)。注解掉的同名方法与预期效果相同。
我得到的第一个错误是
angular.min.js?cdv=1:63引用错误:$http未定义
位于object.gettop5productdata(dashboard.service.js?cdv=1:10)
我现在将方法更改为
function getTop5ProductData($http) {....
但是我得到了
typeerror:无法读取未定义的属性“get”
我提议 $http
变量,但该变量具有类似的错误消息,即使我将该声明放在其他位置,我也会有类似的错误。
有人能看出我做错了什么或我遗漏了什么吗?
暂无答案!
目前还没有任何答案,快来回答吧!