如何将属性注入返回集合 - Angularjs

时间:2016-01-15 07:20:08

标签: angularjs

我有一个返回集合的角度应用程序。我想将一个范围变量注入集合中的每个元素。我该怎么做?也许当我归还收藏品时,是一个foreach?

我正在尝试这一点,但没有走得太远。

    $scope.getPlaylist = function () {
       $http.get('genrePlaylist/' + $scope.genre).success(function (result) {
           $scope.genreTracks = result;
           angular.forEach($scope.genreTracks, function() {
               genreTracks.user = $scope.spotemail;
           });
       });
};

感谢。

2 个答案:

答案 0 :(得分:1)

使用一些user填充数组中的每个轨道对象:

$scope.getPlaylist = function () {
       $http.get('genrePlaylist/' + $scope.genre).success(function (result) {
           $scope.genreTracks = result;
           angular.forEach($scope.genreTracks, function(track) {
               track.user = $scope.spotemail;
           });
       });
};

答案 1 :(得分:0)

要使用已修改的数据创建新承诺,将修改后的数据返回到承诺的onFulfilled方法的.then函数。

$scope.getPlaylist = function (genre, spotemail) {
    var httpPromise = $http.get('genrePlaylist/' + genre)
    //use .then method to make new promise
    var newPromise = 
         httpPromise.then(function onFulfilled(response) {
             var data = response.data;
             angular.forEach(data, function(item) {
                  item.user = spotemail;
             });
             //return modified data for chaining
             return data;
         });
     //return newPromise for chaining
     return newPromise;
};

请注意,我将$scope变量更改为函数调用的参数。这样可以轻松地将代码重新分解为工厂提供程序服务。