jQuery 명령어가 포함 된 AngularJS 사용자 지정 지시문을 트리거하려고합니다. 어떻게 할 수 있습니까? 지시문에서 emit 함수에 대해 읽었습니까?컨트롤러 호출의 AngularJS 트리거 지시문
아이디어가 있으십니까?
jQuery 명령어가 포함 된 AngularJS 사용자 지정 지시문을 트리거하려고합니다. 어떻게 할 수 있습니까? 지시문에서 emit 함수에 대해 읽었습니까?컨트롤러 호출의 AngularJS 트리거 지시문
아이디어가 있으십니까?
서비스를 사용하여 컨트롤러와 지침간에 통신 할 수 있습니다.
서비스는 다음과 같습니다
app.service("directiveService", function() {
var listeners = [];
return {
subscribe: function(callback) {
listeners.push(callback);
},
publish: function(msg) {
angular.forEach(listeners, function(value, key) {
value(msg);
});
}
};
});
그리고 지시어는 서비스에 대응할 수 :
app.directive("jQueryDirective", function(directiveService) {
directiveService.subscribe(function(msg) {
// pretend this is jQuery
document.getElementById("example")
.innerHTML = msg;
});
return {
restrict: 'E'
};
});
그냥 내가 jQuery를 조작을 위해 무엇을했는지 대체 당신은 당신이 필요 있어야합니다. 여기
는 작업 바이올린의 :
http://jsfiddle.net/jeremylikness/wqXYx/
그 일의 장점은 무엇입니까 이 방법은 $ broadcast/$ on을 사용하는 것입니까? – Strawberry
브로드 캐스트는 $ scope hiearchy뿐만 아니라 $ scope에 대한 종속성을 만듭니다. 당신이 의존하는 경우에는 청취자가 많이 불려지므로 메시지에 관심이 있거나 없을 수도 있습니다. 명시 적 서비스는 필요로하는 구성 요소만을 대상으로합니다. 또한 테스트가 쉽고 재사용이 가능하며 자체 포함되어 있습니다. –
http://stackoverflow.com/questions/16935095/correct-way-to-integrate-jquery-plugins-in-angular-js – Ismael