我正在构建一个应用程序来动态加载和显示AngularJS中数据库的数据,但是当我尝试访问我的API(使用$ http()或$ http.get())时,我收到了错误信息。
$ http.get()错误:TypeError: undefined is not a function
,$ http()错误:TypeError: object is not a function
在代码中发生此特定错误,以动态加载导航标签。
CoffeeScript中的代码:
p4pControllers.controller 'navCtrl', [
'$routeParams'
'$scope'
'$http'
($http,$scope,$routeParams) ->
$http(
method:'GET'
url:'http://p4p-api.snyx.nl/tables'
).success (data) ->
$scope.tabs = data
return
return
$http.get('http://p4p-api.snyx.nl/tables').success (data) ->
$scope.tabs = data
return
return
]
有谁看到我在这里做错了什么?
答案 0 :(得分:9)
使用数组表示法注入依赖项时,参数的顺序很重要:
在您的代码中:
['$routeParams',
'$scope',
'$http',
function ($http, $scope, $routeParams) {
// $http argument ==> $routeParams
// $scope argument ==> $scope (by coincidence)
// $routeParams argument ==> $http
}
所以,基本上,你正在做$routeParams.get()
,但$routeParams
没有方法get()
(也不是函数本身)。