2014-11-19 5 views
0

하나의 사용자 지정 명령에 여러 컨트롤러를 연결하려고 시도했지만 해결책이 없습니다. 이것이 가능한지 아닌지. 아무나 말해 주실 수 있습니까?두 개의 컨트롤러를 단일 사용자 지정 명령에 연결할 수 있습니까?

요구 사항 : 컨트롤러로 지시문을 만들었습니다. 페이지에서 해당 지시어를 호출하고 페이지에 자체 컨트롤러가 있습니다. 이제 페이지 컨트롤러에는 몇 가지 기능이 있습니다. 일부 이벤트가있는 템플릿을 사용하고 있습니다. 이러한 이벤트는 페이지 컨트롤러 (상위 컨트롤러)에서 구현됩니다. 그래서 그 기능들은 발사되지 않습니다. 컨트롤러의

<div ng-controller="controllername"> 
<myDirective name-"name" event="doSomeEvent(params)"/> 

제가

app.controller("controllername",['$scope','function($scope)) 
{ 
$scope.functionName = function() 
{ 
alert(1); 
}] 
} 

이 함수 지정 템플릿에 링크 등의 기능의 몇 가지있다. 이 사건을 해고하는 방법?

답변

0

내 생각에 귀하의 지침에는 격리 된 범위가 있습니다. 은 지시어 정의에서 범위가 {} 인 라인을 의미합니다. 당신은에 액세스 할 수 있습니다 : 그것은 고립과 부모 범위

이 지침에서 범위 정의를 제거 (컨트롤러의 컨트롤러 명 '당신이 거기있는 것을 의미)을 볼 수 있습니다 은 (} {범위를 제거) 부모 범위. 이며 이러한 기능을 지시문 범위에있는 것처럼 사용할 수 있습니다.

+0

범위를 제거하면 지시어로 전송 된 속성으로 조작 할 수 있습니까? 지시어에 컨트롤러를 이미 추가했는데 작동합니까? – Bhimisetty

+0

아니요.하지만 부모 범위에서 설정할 수 있습니다. 그러면 자식에게 표시됩니다. – sagie

+0

두 컨트롤러로 작업해야합니다. – Bhimisetty

관련 문제