2017-02-11 4 views
0

AngularJS: v1.5.11AngularJS ошибка: Ошибка типа: Не удается прочитать свойство «изображения» неопределенных

Im пытается отобразить изображения из массива JSON.

Правильно ли это: $scope.mainImage = $scope.template.images[0].name;. Это строка ошибки, в которой указано свойство can not read images.

Мой контроллер в templates.js файле:

.controller("TemplatesDetailsCtrl", ["$scope", "$routeParams", "$http", "$filter", function($scope, $routeParams, $http, $filter){ 
    var templateId = $routeParams.templateID; 
    $http.get("json/templates.json").success(function(data){ 
     $scope.template = $filter("filter")(data, function(d){ 
      return d.id == templateId; 
     })[0]; 
     $scope.mainImage = $scope.template.images[0].name; //THIS IS LINE 30 
    }); 
}]); 

Я пытаюсь отобразить очень первое изображение из массива. Поэтому мой HTML-код:

<img class="img-full" src="img/{{mainImage}}"> 

Бен много пытается и не может отобразить изображение. Im получение этой ошибки: enter image description here

Пожалуйста, помогите.

+2

необходимо сделать некоторые основные отладки ... что '$ routeParams.templateID' вернуться? Что возвращает '$ scope.template'? Как выглядят данные? вы явно не получаете то, что ожидаете в '$ scope.template', поэтому вам нужно вникать, чтобы выяснить, почему – charlietfl

+0

вы. Ты мне нравишься. Я сделал 'console.log (templateId)' сразу после того, как я определил 'var templateId' и получил ту же ошибку. Я неправильно написал '$ routeParams.templateID'. Изменение его на '$ routeParams.templateId' сработало. Благодарю. Я пробовал это в течение долгого времени. – Somename

+1

Там вы идете ... никогда не предполагайте, что все предыдущее - это то, что вы ожидаете от него без проверки – charlietfl

ответ

1

Похоже, что объект «шаблон» не определен. Вы можете проверить undefined, прежде чем пытаться использовать его свойства :

if ($scope.template) 
    $scope.mainImage = $scope.template.images[0].name; //THIS IS LINE 30 
+0

Вы ошибаетесь в ошибке ошибки ... шаблон не определен, а не свойство этого – charlietfl

+0

Спасибо, что исправил меня. Я обновил свой ответ. –

Смежные вопросы