将值从资源传递到另一个资源作为参数

时间:2014-03-24 17:09:19

标签: angularjs factory ngresource

所以我有一个这样的资源设置。

  .factory('ChannelListing', function($resource) {
    return $resource('/api/v1/channel_listings.json?channel_id=:channel_id',
    {channel_id: '@channel_id'}, 
    {'query':  {method:'GET', isArray:false}});
  })

与这样的控制器一起设置......

  .controller('ChannelListingCtrl', function($scope, ChannelListing) {
    ChannelListing.query(function(data){
      $scope.channellistings = data.results;
    });
  })

问题在于我希望@channel_id来自我从其他资源设置中提取的用户对象...

  .factory('userFactory', function($resource) {
    return $resource('/users/me.json');
  })

此$ resource返回当前登录用户的所有用户数据,并包含channel_id字段。如何获取此字段ID并将其传递给其他资源?

1 个答案:

答案 0 :(得分:0)

我相信你可以做以下事情:

userFactory.query(function (user) {
    ChannelListing.query({channel_id: user.chanel_id}, function(data){
       $scope.channellistings = data.results;
    });
}));