我正在迁移到基于 Angular 的前端。JavaScript
在一些研究发现使用Service
并且$broadcast
可能是一个很好的解决方案之后,我有一个函数可以将一些数据传递给指令。但对我不起作用...
这是我的代码:
var app = angular.module('app', []);
app.factory('broadcastService', ['$rootScope',
function($rootScope) {
var factory = {};
factory.sendAjaxResut = function(name, obj) {
console.log(' -- $broadcast ');
$rootScope.$broadcast(name, obj);
}
return factory;
}
]);
app.directive("bill", [directive]);
function directive() {
return {
restrict: "E",
link: function($scope) {
$scope.$on("b1", function(e, a) {
console.log('-- directive')
});
}
}
}
将数据传递给服务的代码:
function _ajaxCUSTOMER(e) {
angular
.injector(['ng' ,'app'])
.get("broadcastService")
.sendAjaxResut("b1", e);
}
<button onclick="_ajaxCUSTOMER('foo')" >Send</button>
ng
问题1:里面有什么.injector(['ng' ,'app'])
问题2:此时控制台只显示-- $broadcast
。我的代码无法在指令中捕获事件的问题是什么