2014-02-13 3 views
0

내 컨트롤러에서 $ 범위를 업데이트하는 성공에 $ http 기반 서비스를 사용하고 있습니다.

또한 내 지시문에서 서비스에 액세스하고 ng-click in 지시문을 사용하여 POST를 만든 다음 서버에서 데이터를 새로 고치고 이후에 범위를 업데이트하려고합니다. 따라서 신호 경로는 지시문 -> 서비스 -> 컨트롤러 -> $ scope입니다. 어떻게하면 컨트롤러에서 메소드를 호출하지 않고 지시문에서 호출 할 수 있습니까?

지시어와 컨트롤러 사이에 몇 가지 방법을 바인딩 할 수 있다는 것을 알고 있지만 8 가지 방법을 사용할 수 있으며 8 번 쓸 필요가 없습니다. method1:"&"<myDirective method1="method1()" method2="method2() "etc... 그건 엉망이 될 것입니다.

나는 = 당신의 지시어 내부 사실은 지시어 내에서 실행 당신이 고립 범위, 또는 설정 범위를 생성하지 않는 경우

답변

0

... 나를 위해 많은 코드, 그냥 몇 가지 힌트, 제발을 쓰고 싶지 않아 컨트롤러의 범위.

그래서 옵션은 다음 중 하나

  • 는 컨트롤러의 방법이 있고 지시어 정상 범위의 방법으로 그들을 액세스 할 수 있습니다.
  • 그러나 당신은 당신이 지시어의 재사용을하려면 아직도, 격리 된 범위를 사용하는 것이 좋습니다

를 원하는 당신이 컨트롤러에서 그것을처럼 지침에 서비스를 주입하고 서비스를 호출하고 컨트롤러의 범위를 업데이트합니다.

+0

Unfornately, 나는 method1 : "&", method2 : "&"등의 이유 때문에 스코프를 분리하고 있습니다. –

관련 문제