【问题标题】:AngularJs Service with NgResource and custom methods combinedAngularJs 服务与 NgResource 和自定义方法相结合
【发布时间】:2016-04-24 03:33:49
【问题描述】:

是否可以提供具有自定义方法和NgResource 功能的服务?

或者我必须在整个应用程序中创建和管理 2 个对象吗?一个用于$resource(工厂),另一个用于其他事情,例如在路由后保留值(例如 .service)。

我的意思是,我读到的所有实现NgResource 的示例都显示了一个工厂对象只返回一个东西,即 $resource 组件。像这样:

.factory('User', function($resource){

  return $resource(URL + ':id', {}, {
     edit: {method:'PUT'}
     ....
     ....
  });

这是有用且清晰的。只需拨打:User.edit(...);

如果我需要自定义方法来执行某些过程,例如:

User.calculateSomethingAboutTheUser()

如果我需要在路由后记住用户值怎么办?我正在使用名为 User 的服务 (.service) 来完成此操作,就像在控制器中这样:

$scope.user = User;

我无法对工厂示例执行此操作,因为它总是返回 $resource 对象。

【问题讨论】:

    标签: angularjs methods service factory ngresource


    【解决方案1】:

    实际上$http 和它的抽象$resource 只是用于从服务器端加载数据,它是数据层。最好为计算声明额外的服务(存储一些状态等),它将是业务逻辑层。然后你声明一些指令来帮助你显示/获取数据(例如用户输入)。它是表示层。如果需要,这些指令会调用您的业务逻辑服务上的方法,而 BL 服务会调用数据层。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-05
      • 2013-12-25
      • 2023-03-22
      • 2014-07-07
      • 1970-01-01
      • 2014-09-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多