在MEANJS 0.4.2中使用Angular Service

时间:2016-06-09 17:34:01

标签: angularjs meanjs

我有一个也许简单的问题。之前我曾在Angular中使用过服务,但现在使用MEANJS Yeoman Generator项目遇到了问题。我需要的是使用另一个模块中特定模块的数组数据,这样我就可以在另一个模型的视图中重复这个数据。

我究竟在哪里引入服务中的数组?

(function () {
  'use strict';

  angular
  .module('patients')

  .factory('PatientsService', PatientsService);

  PatientsService.$inject = ['$resource'];

  function PatientsService($resource) {
    return $resource('api/patients/:patientId', {
      patientId: '@_id'
    }, {
      update: {
        method: 'PUT'
      }
    });
  }
})();

到目前为止,我没有在MEANJS Doc中找到任何内容,也没有在此处找到任何内容(仅来自具有其他服务结构的较旧的MEANJS版本)。

以下是我想在服务中引入的内容:

  // Shows a List of useable avatars on Patient creation
    $scope.avatars = [
      { value:'1', name: 'modules/patients/client/img/avatar/avatar1.png' },
      { value:'2', name: 'modules/patients/client/img/avatar/avatar2.png' },
      { value:'3', name: 'modules/patients/client/img/avatar/avatar3.png' },
      { value:'4', name: 'modules/patients/client/img/avatar/avatar4.png' },
      { value:'5', name: 'modules/patients/client/img/avatar/avatar5.png' },
      { value:'6', name: 'modules/patients/client/img/avatar/avatar6.png' }
    ];

我想在home.client视图中使用化身,在Home.client控制器中已经注入了PatientsService。

1 个答案:

答案 0 :(得分:0)

上述服务只返回$resource。相反,该服务可以返回具有各种属性的普通旧Javascript对象(或类)。其中包含一个包含头像数组的属性,另一个包含$resource

(function () {
  'use strict';

  angular
  .module('patients')

  .factory('PatientsService', PatientsService);

  PatientsService.$inject = ['$resource'];

  function PatientsService($resource) {
    return {
      avatars: [ {value: 0, ... } ],
      resource: $resource('api/patients/:patientId', {
          patientId: '@_id'
        }, {
          update: {
            method: 'PUT'
        }
      })
    }

  }
})();