【问题标题】:How to reuse Angular resource functions?如何重用Angular资源函数?
【发布时间】:2014-12-12 17:09:41
【问题描述】:

我正在编写一个相对简单的 Angular 应用程序,它类似于邮箱应用程序 - 它由收件箱和其他几个“文件夹”组成。这个想法是有消息(我的 Angular 模型是 Message)并让文件夹在每个文件夹中显示许多消息。

这对于收件箱(您登陆的第一页)来说很容易做到,因为我可以像这样从 Angular 资源中获取我的消息:

Messages.get({location: 'inbox'}, function(data){
    $scope.messages = data.objects;
});

要在我的视图中显示收件箱中的邮件数量,使用这段代码就足够了

<p>{{messages.length}}</p>

但是,我很难找到一种在不重复自己的情况下获取其他文件夹中邮件数量的好方法。我想尽可能有效地获取这些信息,并使代码也可重用。例如,要获取发件箱中的邮件数量(而不是一次获取所有发件箱消息,只获取数量),我可以这样写:

Messages.get({location: 'outbox', meta_only : true}, function(data){
    $scope.outbox_number = data.meta.total_count;
});

这还不够好,因为我仍然必须在该代码中直接编写 $scope.outbox_number 并且不能将其变成可以将任何文件夹名称作为参数的通用函数。

我的问题是 - 如何重用依赖 $resource 的函数来获取我想要的数据?另外,最好为我的文件夹和消息窗格设置一个单独的控制器吗?

【问题讨论】:

    标签: angularjs angularjs-resource


    【解决方案1】:
        Messages.get({location: $scope.location, meta_only:true},function(data) {
    
            $scope.number[$scope.location] = data.meta.total_count;
    
        }, function(error) {
    
        });
    

    所以现在您将在 $scope.number.outbox 中拥有例如,您可以在每个控制器中将 $scope.location 更改为您想要的内容,您将获得 $scope.number.[location you specified];

    【讨论】:

      猜你喜欢
      • 2020-02-09
      • 1970-01-01
      • 2014-06-27
      • 2021-07-25
      • 2016-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多