Angularjs $rootScope.$broadcast when watch position 将消息从工厂传递到指令
Angularjs $rootScope.$broadcast when watch position to pass message from factory to directive
我想创建将 navigator.geolocation.watchPosition 并且每次都会广播到 rootscope 然后指令将监听 $scope.$on 的工厂。途中是否存在任何性能问题或更好的方法?安装此应用程序的设备将始终处于移动状态。
广播总是很忙。
不是广播,而是在 rootScope 上发出并在 rootScope 上侦听。当您的指令范围被销毁时,从范围中删除侦听器。
工厂:
$rootScope.$emit('eventName:emit');
指令:
var destroyFn = $rootScope.$on('eventName:emit', listernFn);
$scope.$on('$destroy', destroyFn);
将名称 eventname
更改为 eventname:emit
以使事件特定于侦听 $emit
事件。
我想创建将 navigator.geolocation.watchPosition 并且每次都会广播到 rootscope 然后指令将监听 $scope.$on 的工厂。途中是否存在任何性能问题或更好的方法?安装此应用程序的设备将始终处于移动状态。
广播总是很忙。
不是广播,而是在 rootScope 上发出并在 rootScope 上侦听。当您的指令范围被销毁时,从范围中删除侦听器。
工厂:
$rootScope.$emit('eventName:emit');
指令:
var destroyFn = $rootScope.$on('eventName:emit', listernFn);
$scope.$on('$destroy', destroyFn);
将名称 eventname
更改为 eventname:emit
以使事件特定于侦听 $emit
事件。