Angular SyntaxError: Неожиданный токен}

0

Я потратил хороший час, пытаясь отладить это, но я совершенно не знаю, почему это было бы неправильно.

Я пытался отобразить ряд изображений на странице, используя Angular на основе данных, полученных из json файла. Тем не менее, Angular продолжает давать мне эту ошибку:

SyntaxError: Unexpected token }
    at Object.parse (native)
    at fromJson (http://localhost:3000/assets/angular.self-5bf4e8cd0241c34665eca1c336b104c0716c32c68edd291d6ae5b0e0935d29ec.js?body=1:1076:14)
    at defaultHttpResponseTransform (http://localhost:3000/assets/angular.self-5bf4e8cd0241c34665eca1c336b104c0716c32c68edd291d6ae5b0e0935d29ec.js?body=1:8651:16)
    at http://localhost:3000/assets/angular.self-5bf4e8cd0241c34665eca1c336b104c0716c32c68edd291d6ae5b0e0935d29ec.js?body=1:8736:12
    at forEach (http://localhost:3000/assets/angular.self-5bf4e8cd0241c34665eca1c336b104c0716c32c68edd291d6ae5b0e0935d29ec.js?body=1:327:20)
    at transformData (http://localhost:3000/assets/angular.self-5bf4e8cd0241c34665eca1c336b104c0716c32c68edd291d6ae5b0e0935d29ec.js?body=1:8735:3)
    at transformResponse (http://localhost:3000/assets/angular.self-5bf4e8cd0241c34665eca1c336b104c0716c32c68edd291d6ae5b0e0935d29ec.js?body=1:9465:23)
    at processQueue (http://localhost:3000/assets/angular.self-5bf4e8cd0241c34665eca1c336b104c0716c32c68edd291d6ae5b0e0935d29ec.js?body=1:13293:27)
    at http://localhost:3000/assets/angular.self-5bf4e8cd0241c34665eca1c336b104c0716c32c68edd291d6ae5b0e0935d29ec.js?body=1:13309:27
    at Scope.$get.Scope.$eval (http://localhost:3000/assets/angular.self-5bf4e8cd0241c34665eca1c336b104c0716c32c68edd291d6ae5b0e0935d29ec.js?body=1:14548:28)

Здесь мой код

HTML:

<div id="officersPage" class="row" ng-app="officers" ng-controller="officerCtrl">
    <div id="officerModals" class="col-md-4" ng-repeat="officersOne in officersGroup">
        <div class="officerPics" ng-repeat="officer in officersOne">            
            <%= image_tag('logo.png', :id=>"{{officer.id}}", size: '140x140', :class=>"img-responsive, img-thumbnail") %>   

        </div>
    </div>
    <div id="moreDetails" class="col-md-4">
    </div>
</div>

Угловой код:

# Contains the Angular code for the officer page -> will generate all the pictures and modals based on info through JSON file
app = angular.module('officers', [])

app.controller 'officerCtrl', [
    '$scope'
    '$http'
    ($scope, $http) ->
        $http.get('./officers.json').success (data) ->  
            console.log(data)
            $scope.officersGroup = data 
            console.log($scope.officersGroup)   
        return
]

Любая помощь была бы потрясающей!

Edit: Здесь пример образца JSON файла выглядит так:

{
  "officers": [
    {
        "name": "Matt Zhang",
        "role": "Webmaster",
        "class": "2018",        
        "id" : "matt"
    }
  ]
}
Теги:
coffeescript

1 ответ

1

Просто предположите, когда вы назначаете:

$scope.officersGroup = data 

Не должно быть?

$scope.officersGroup = data.officers

Это для первой итерации в вашем коде. Затем во второй итерации вы используете ng-repeat для перебора свойств объекта? Если это так, я не думаю, что это лучший способ сделать это.

<div class="officerPics" ng-repeat="officer in officersOne">

ура

  • 0
    Это исправило еще одну проблему .. спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню