从另一个控制器调用函数-AngularJS

时间:2019-05-28 00:02:55

标签: angularjs

我需要在任何给定时间运行另一个控制器的功能,但是问题是我无法以任何方式执行此操作,我已经尝试了$广播,$发射和失败。这是我的HTML:

  
    
        
             0 Jogada             
        
    
    
        
                
  •             
  •             
  •             
  •             
  •             
  •             
  •             
  •             
  •             
  •             
  •             
  •             
  •             
  •             
  •             
  •             
  •             
  •             
  •             
  •             
  •             
  •             
  •             
  •             
  •             
  •             
  •             
  •             
  •             
  •             
  •             
  •             
  •             
  •             
  •             
  •             
  •             
  •             
  •             
  •         
             
    
        <!-另一个组件->              

gameCtrl.js

  var app = angular.module('app');

app.controller('gameCtrl',['$ scope','$ uibModal',function($ scope,$ uibModal,$ rootScope){

    ...

    $ scope.congratulations = function(){

        如果($ scope.matchedCard.length == 2){
            警报('ACABOU');
            //在这里,我想在控制器排名中调用函数$ scope.getPlayer()
            clearInterval($ scope.interval);
            $ scope.finalTime = $ scope.timer.innerHTML;
            $ scope.player = [{
                名称:localStorage.getItem('playerName'),
                移动:$ scope.moves,
                时间:$ scope.minute +“ minutos” + $ scope.second +“ segundos”
            }]

            如果(localStorage.getItem('players')){
                var totalPlayers = JSON.parse(localStorage.getItem('players'));
                totalPlayers.push({
                    名称:localStorage.getItem('playerName'),
                    移动:$ scope.moves,
                    时间:$ scope.minute +“ minutos” + $ scope.second +“ segundos”
                })
                localStorage.setItem('players',JSON.stringify(totalPlayers));
            }其他{
                localStorage.setItem('players',JSON.stringify($ scope.player));
            }
            var totalPlayers = JSON.parse(localStorage.getItem('players'));
        };
    }


}])
 

rankingController.js

  var app = angular.module('app');

app.controller('rankingController',['$ scope',function($ scope,$ rootScope){

    $ scope.getPlayer = function(){
        $ scope.players = JSON.parse(localStorage.getItem('players'));
    }

}])
 

如果可以仅刷新组件,则还有另一个选择,因为我需要在警报()之后不久列出存储在localStorage中的数据,有人可以帮忙吗?

0 个答案:

没有答案