cri*_*dol 1 javascript jquery arguments
我正在尝试执行以下操作:
eventService.emit = function(name, optionalArg1, optionalArg2,... ){
$rootScope.$broadcast(name, optionalArg1, optionalArg2,...);
};
Run Code Online (Sandbox Code Playgroud)
具有无限数量的可选参数.(广播"定义":$ broadcast(字符串,args ......))
我想
eventService.emit =$rootScope.$broadcast;
Run Code Online (Sandbox Code Playgroud)
会工作,但它没有($ broadcast函数可以访问$ rootscope属性)和
eventService.emit = function(){
$rootScope.$broadcast(arguments);
};
Run Code Online (Sandbox Code Playgroud)
似乎不起作用
谢谢您的帮助
原始代码:
services.factory('eventService', function($rootScope, $http){
var eventObject = {};
eventObject.emit = function(name){
$rootScope.$broadcast(name);
};
return eventObject;
});
Run Code Online (Sandbox Code Playgroud)
你可以试试
eventService.emit = function(){
$rootScope.$broadcast.apply($rootScope, arguments); //you can change "this" to whatever you need
};
Run Code Online (Sandbox Code Playgroud)
在这里你用参数"array"执行$ rootScope.$ broadcast(它不是一个真正的数组,但表现得像一个),并在函数中使用这个(参数).