2015-03-02 5 views
1

Я пытался добавить пользовательскую службу в модуль непосредственноКак добавить индивидуальное обслуживание в угловой модуль нг непосредственно

'use strict'; 
angular 
    .module("ng") 
    .service('getAQueryParameterByName', ['', function(){ 
     console.log("getAQueryParameterByName service active"); 
     this.getParameter = function(name){ 
      console.log("getParameter!"); 
     } 
    }]); 

нг В результате, когда я пытаюсь запустить службу, выполнив getAQueryParameterByName.getParameter(var) я столкнулся ошибка

ReferenceError: getAQueryParameterByName is not defined 

Обычно эта ошибка, потому что я не впрыскивать услугу, однако, я полагаю, я впрыснуть дополнительную услугу непосредственно в модуль, таким образом, я действительно не нужно снова вводить в контроллер? Но, я пытался добавить услугу снова в контроллер в любом случае, и я получил ошибку

Error: [$injector:unpr] Unknown provider: Provider <- <- getAQueryParameterByName 

Я действительно путают в этой точке ... Где я сделал не так?

ответ

1

Изменить определение:

'use strict'; 
angular 
    .module("ng") 
    .service('getAQueryParameterByName', [function(){ 
     console.log("getAQueryParameterByName service active"); 
     this.getParameter = function(name){ 
      console.log("getParameter!"); 
     } 
    }]); 

Хотя, я бы не рекомендовал расширить модуль нг. Это следует рассматривать как третье лицо по модульной архитектуре.

+0

поэтому .... если я добавлю дополнительные услуги в другой модуль, все, что мне нужно, это вставить пользовательский модуль в ng-приложение, без необходимости вводить какие-либо сервисы, которые были введены в пользовательский модуль, правильно? – Ezeewei

+1

Правильно, все компоненты (службы, поставщики, контроллеры и т. Д.) Транзитивно включаются, когда вы отмечаете модуль как зависимость. Например, если у вас есть: angular.module ('foo', ['bar']); модуль foo имеет доступ ко всем компонентам в панели модулей, а также расширяет этот случай, если в панели модулей есть зависимости, к которым у вас также есть доступ к этим модулям. – dmcqu314

Смежные вопросы