var myApp = angular.module('myApp',[]);
myApp.controller('Controller', function($scope, $interval){
$interval(function($scope, $http){
$http.get('test.json').success(function(data){
$scope.notifications = data;
});
},5000);
});
任何人看到我到底做错了什么?间隔工作正常,因为错误在Chrome控制台中重复5秒。我是否正确地将$ http传递给控制器?
答案 0 :(得分:1)
应该在控制器的构造函数中注入所有Angular模块。
var myApp = angular.module('myApp',[]);
myApp.controller('Controller', function($http, $scope, $interval){
$interval(function(){
$http.get('test.json').success(function(data){
$scope.notifications = data;
});
},5000);
});
答案 1 :(得分:0)
您需要在控制器中注入$ http。 (与注入$ scope和$ interval的方式相同。)您可能有兴趣阅读https://docs.angularjs.org/guide/di。
var myApp = angular.module('myApp',[]);
myApp.controller('Controller', function($scope, $interval, $http){
$interval(function($scope, $http){
$http.get('test.json').success(function(data){
$scope.notifications = data;
});
},5000);
});
答案 2 :(得分:0)
就像您注入$interval
服务一样,您需要注入$http
服务:
var myApp = angular.module('myApp',[]);
myApp.controller('Controller', function($scope, $interval, $http){
$interval(function($scope, $http){
$http.get('test.json').success(function(data){
$scope.notifications = data;
});
},5000);
});
答案 3 :(得分:0)
您需要在控制器中传入$ http,如下:
var myApp = angular.module('myApp', []).
myApp.controller('ImagesCtrl', ['$scope', '$http', '$interval', function ($scope, $http, $interval) {
$interval(function(){
$http.get('test.json').success(function(data){
$scope.notifications = data;
});
},5000);
}]);