我想触发一个包含jQuery指令的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/