我正在尝试构建一个Angularjs应用程序,但我的控制器出现问题。
'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未定义。我能改进什么?
答案 0 :(得分:6)
您需要在使用它的控制器中注入$http
服务。我非常喜欢这个非常精确的inline syntax,如果您的代码通过缩小器,它将避免出现问题。
controller('indexCTRL', ['$scope', '$http',
function($scope, $http) {
//...your code
}
])
答案 1 :(得分:4)
'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;
});
});
答案 2 :(得分:2)
您应该将它作为依赖项添加到使用它的每个控制器:
controller('indexCTRL', function ($scope, $http) {