AngularJS app.controller语法错误?

时间:2013-12-01 07:28:47

标签: javascript angularjs

我正在将代码应用于由此人https://github.com/simpulton/angular-photo-slider/blob/master/js/app.js运行的项目。他已经有一点语法错误,并且控制台告诉你它,但是在我修复它之后,控制台只是给出了模糊的“SyntaxError:syntax error”消息。这就是我一直想做的事情:

var app = angular.module('LOC Search', ['ngAnimate']);

app.controller('locListCtrl', ['$scope', function ($scope, $http)) {
$http.jsonp('http://loc.gov/pictures/collections?fo=json&callback=process=JSON_CALLBACK').success(function(data) {

$scope.slides = data.collections;

}
}]);

有没有人有任何建议?此外,不同版本的AngularJS将产生不同的结果......不确定使用哪个特定的例子。谢谢!

2 个答案:

答案 0 :(得分:1)

你在地方有两个括号,有些则丢失了。

试试这个:

var app = angular.module('LOC Search', ['ngAnimate']);

app.controller('locListCtrl', ['$scope', '$http', function ($scope, $http) {
    $http.jsonp('http://loc.gov/pictures/collections?fo=json&callback=process=JSON_CALLBACK').success(function(data) {

        $scope.slides = data.collections;

    });
}]);

答案 1 :(得分:0)

您忘了注入$http服务。

尝试:

app.controller('locListCtrl', ['$scope', '$http', function ($scope, $http) {
   ...

或者您也可以这样做:

app.controller('locListCtrl', function ($scope, $http) {
    ...

但第二个建议要少得多,因为如果你缩小代码,代码将无法工作。