Javascript 未定义Var$http
我正在尝试构建Angularjs应用程序,但我的控制器有问题Javascript 未定义Var$http,javascript,angularjs,Javascript,Angularjs,我正在尝试构建Angularjs应用程序,但我的控制器有问题 'use strict'; /* Controllers */ angular.module('myApp.controllers', []). controller('AppCtrl', function ($scope, $http) { }). controller('indexCTRL', function ($scope) { $http.get('/api/frettir'). succe
'use strict';
/* Controllers */
angular.module('myApp.controllers', []).
controller('AppCtrl', function ($scope, $http) {
}).
controller('indexCTRL', function ($scope) {
$http.get('/api/frettir').
success(function(data, status, headers, config) {
$scope.posts = data;
});
});
但当我运行它时,会出现一个错误,表明未定义$http。我可以改进什么?您应该将其作为依赖项添加到每个使用它的控制器:
'use strict';
/* Controllers */
angular.module('myApp.controllers', []).
controller('AppCtrl', function ($scope, $http) {
}).
controller('indexCTRL', function ($scope, *$http*) {
$http.get('/api/frettir').
success(function(data, status, headers, config) {
$scope.posts = data;
});
});
controller('indexCTRL', function ($scope, $http) {
您需要在使用它的控制器中注入
$http
服务。我喜欢这种非常精确的方法,如果你的代码通过缩微器,它可以避免问题
controller('indexCTRL', ['$scope', '$http',
function($scope, $http) {
//...your code
}
])
只需要在控制器中注入$http我不知道当我按下add answer时它上面有一个-1。是的,我们差不多同时写了答案,我有0,你有-1。。。哦,好吧,这是诚实行事的更好方法。如果你把它做成一个数组,那么当你决定缩小它时,你就不必回去对每个控制器都这样做了。我从经验中知道这一点:哈哈