2014-02-13 3 views
0

В моем контроллере я использую службу на основе $ http, которая при успешном обновлении $ scope.

Кроме того, я хочу иметь доступ к службе в моей директиве, директива on ng-click в директиве делает POST, а затем обновляет данные с сервера и обновляет область впоследствии. Таким образом, маршрут для сигнала будет: директива -> сервис -> контроллер -> $ scope. Как я могу это сделать без вызова метода на контроллере, но вызывая его из директивы?

Я знаю, что могу связать некоторые методы между директивой и контроллером, но у меня есть 8 возможных методов, и я не хочу писать 8 раз method1:"&" и <myDirective method1="method1()" method2="method2() "etc... Это было бы беспорядок.

Я не хочу, чтобы вы написали много кода для меня, только некоторые намеки, пожалуйста ...

ответ

0

Если вы не создать изолированную сферу, или установить масштаб = истина внутри директивы, директива работает в объем контроллера.

Так что ваши варианты, то есть либо

  • Есть методы на контроллере и доступ к ним, как обычные методы в области видимости директивы.
  • Вводить службу в директиве, как вы делаете это в контроллере и вызвать службу и обновить область контроллера, однако вы хотите

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

+0

Непонятно, я изолирую область действия, поэтому метод 1: «&», method2: «&» и т. Д. –

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