Совместное использование ресурсов между контроллерами в Angular.js

Простой вопрос.

У меня есть этот ресурс:

var Company = $resource("/company/:_id", {_id: "@_id"}); 

То, что я хочу разделить между разными контроллерами.

Прямо сейчас я копирую и вставляю вещи, но я все еще не в том месте, где хочу добавить больше кода и использовать общие сервисы angular

Любой другой вариант?


person Nicolas Modrzyk    schedule 26.03.2013    source источник


Ответы (1)


Просто поставить в сервис или на завод.

angular.module("myApp", []).
  factory("CompanyResource", function ($resource) {
    return $resource("/company/:_id", {_id: "@_id"}); 
  });

а затем вы можете использовать его в контроллере с помощью

function MapCtrl($scope, $resource, $location, CompanyResource) {
   ...
   CompanyResource.query();
   ...
}

Обратите внимание, что вам не нужен знак $ перед названием фабрики.

person Umur Kontacı    schedule 26.03.2013
comment
привет umur, ничего, если я добавлю знак $ в CompanyResource. $CompanyResource ? - person kebyang; 20.08.2014
comment
@kebyang Нет, это не нормально. Знак доллара ($) в качестве префикса зарезервирован для сервисов angular. - person Umur Kontacı; 20.08.2014