javascript - AngularJS错误: TypeError: Cannot read property 'images' of undefined

标签 javascript angularjs

AngularJS:v1.5.11

我正在尝试显示 JSON 数组中的图像。

这是正确的方法吗:$scope.mainImage = $scope.template.images[0].name;。这是错误中的一行,它表示无法读取 images 的属性。

templates.js 文件中的我的 Controller :

.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}}">

Ben 尝试了很多,但无法显示图像。我收到此错误: enter image description here

请帮忙。

最佳答案

似乎"template"对象未定义。在尝试使用其属性之前,您可以测试未定义:

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

关于javascript - AngularJS错误: TypeError: Cannot read property 'images' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42179962/

相关文章:

javascript - CSS clearfix 问题 float

javascript - Google map - 如何确定点是否落在圆上并绘制 map

javascript - 不是 Angular js中的数字

javascript - 如何使用进度更新呈现的 Jade 页面?

javascript - 更改表单 ID 并使用按钮提交事件触发旧的提交 ID

javascript - Var++ 在 JavaScript 中的递归函数参数中导致 RangeError

javascript - 如何在 jquery 中使用音频标签自动播放音乐?

javascript - angular js在每个http请求$http上添加请求参数

MYSQL 的 PHP 脚本作用于一个文件,而不作用于另一个文件

angularjs - 广播模式的改变