2014-09-30 2 views
0

값을 선택할 때 표시 할 지시자에 해당 값을 전달하려는 컨트롤러가있는 선택 입력이 있습니다. 이 경우 전단지에 모양을 그립니다.AngularJS - "일회용"변수를 보는 관용구?

문제는 값을 "화재 및 잊어 버리기"를 원한다 - 모양을 선택하고 선택 상자를 즉시 ​​다시 비워 놓고 그림을 담당하는 지시자가 모양을 받고 그립니다.

초기 생각은 모양을 선택할 때 선택 컨트롤러가 서비스를 업데이트하고 drawThisShape 변수를 설정합니다.이 변수는 $ scope 지시어에서 참조되고 $watch ed : 변경되면 지시문이 모양을 그립니다. 행복한 날들.

이것은 한 곳에서 다른 곳으로 변수를 보내는 데 많은 노력을 기울이는 것처럼 보입니다. 그리고 서비스는 더 이상 필요하지 않게 되어도 모델의 "이전"모양을 끊임없이 가지고있는 상태로 남습니다.

아마도 나는 너무 까다 롭지 만 이것을 달성하는 더 좋은 방법이 있어야한다고 생각합니다.

E : 명확한 설명을 위해, 컨트롤러는 선택 입력 컨트롤러, 나는 그것이 전단지도 인스턴스에 대한 지침입니다을 통과 할 지시어, 그들은 어떤 식 으로든

+0

broadcasting는 사용자 정의 지침을 만들고 싶어 생각을 참조하십시오 –

답변

1

음에 연결되지 않은, 내가 과거에 설명한 기술을 사용했습니다. 필요한 것을 얻기위한 또 다른 방법은 $ rootScope (또는 drawShape 지시어의 다른 부모 범위)에서 drawShape 지시어가 듣고있는 select 입력에서 이벤트를 브로드 캐스트하는 것입니다.

scope event propogation

+0

그래 난 내 머리 위로 떨어져 왜 지금 – ptr

+0

기억할 수 있지만 내가 though- 전에 방송을 경고했습니다 것을 고려 나는 헤비급 해결책 같이 보이는 때 그것을 사용하지 않았다. 더 많은 코드를 작성하고 중개자로서 서비스를 사용하겠습니다. – Fordio

+0

좋아, 지금은 첫 번째 아이디어를 가지고 갈 것이다. 고마워! – ptr