如何让指令内部的controller生成的数据传到指令外部的控制器中
먼저 세 가지 방법에 대해 이야기해 보겠습니다.
위 답변은 위쪽으로는 $emit, 아래쪽으로는 $broadcast$emit向上,$broadcast向下
$emit
$broadcast
service共享数据,就是把同一个service注入到directive和controller中,然后操作这个service的数据就好
service
directive
controller
当然你的directive如果在controller的里面,本身就可以访问到controller的作用域(前提是没创建独立scope),直接在directive的controller中操作scope
scope
지시문
컨트롤러
내부$scope.$emit("emit",data) 외부$scope.$on("emit",function(ev,data){console.log(data)})
독립적인 범위인 "=" 양방향 바인딩을 사용하고 바인딩하려는 데이터를 명령어의 매개변수를 통해 전달하세요.
데이터를 사용하는 방법은 다양합니다.
이벤트 구독 및 방송을 통한 배포
$scope
Angular 공용 모듈을 데이터 저장용으로 사용하고 이를 사용해야 하는 컨트롤러에 삽입합니다
먼저 세 가지 방법에 대해 이야기해 보겠습니다.
위 답변은 위쪽으로는
$emit
, 아래쪽으로는$broadcast
$emit
向上,$broadcast
向下service
共享数据,就是把同一个service
注入到directive
和controller
中,然后操作这个service
的数据就好当然你的
브로드캐스트 통신을 사용합니다.directive
如果在controller
的里面,本身就可以访问到controller
的作用域(前提是没创建独立scope),直接在directive
的controller
中操作scope
service
는 동일한service
를directive
와controller
에 주입한 후 이를 동작시키는 데이터를 공유합니다. 서비스🎜🎜 🎜🎜물론,지시문
이controller
내부에 있으면controller
의 범위에 액세스할 수 있습니다(독립적인 범위가 생성되지 않은 경우).지시문
🎜🎜의컨트롤러
에서 직접scope
를 조작하세요. 🎜내부$scope.$emit("emit",data)
외부$scope.$on("emit",function(ev,data){console.log(data)})
독립적인 범위인 "=" 양방향 바인딩을 사용하고 바인딩하려는 데이터를 명령어의 매개변수를 통해 전달하세요.
데이터를 사용하는 방법은 다양합니다.
으아악 의 상속 기능을 통해 루트 범위의 개체 속성 값을 다시 작성합니다. 으아악 으아악