如何将新属性添加到JSON对象?

时间:2016-05-27 20:39:45

标签: javascript angularjs json

我在这里和谷歌上搜索了问题并找到了答案,但它们似乎并没有在我的代码中运行。我想为AngularJS中的JSON对象添加一个新的PhotoIndex属性。我有下面的代码(照片出现),但没有PhotoIndex属性:

$scope.GetImagesOnBar = function ()
{
    var photos = $scope.$parent.Photos;
    return photos;
};

当我尝试将PhotoIndex属性添加到名为photos的JSON数组对象时,它会破坏代码并且不再显示照片。你能告诉我为什么吗?

$scope.GetImagesOnBar = function ()
{
    var photos = $scope.$parent.Photos;
    var index = 0;
    for (var i = $scope.ImageFirst; i <= $scope.ImageLast; i++)
    {
        photos[i].PhotoIndex = index;
        index = index + 1;
    }
    return photos;
};

1 个答案:

答案 0 :(得分:0)

好的,感谢您的评论。我按照建议检查了控制台,看到错误“$ scope。$ parent.Photos [i] is undefined”。我不知道为什么,但我决定尝试使用angular.foreach,这很有效。请参阅下面的解决方案。

$scope.GetImagesOnBar = function ()
{
    var index = 0;
    angular.forEach($scope.$parent.Photos, function (photo)
    {
        photo.PhotoIndex = index;
        index = index + 1;
    });
    return $scope.$parent.Photos;
};