Javascript 在angularjs中更改选项卡时停止$interval

Javascript 在angularjs中更改选项卡时停止$interval,javascript,angularjs,Javascript,Angularjs,我有两个标签,一个是主页,另一个是菜单。在菜单标签里我有两个李。根据选择的li值,需要在表中显示值 到目前为止,一切都进行得很顺利,但我的目标是每隔3000秒调用函数$scope.clicked使用$interval,并在我单击“主页”选项卡和“菜单”选项卡的“选定项”时停止$interval(即,我只想在菜单选项卡中选择li时执行$interval) //代码在这里 var c=angular.module('myApp',[]) c、 控制器('myCtrl',函数($scope,$in

我有两个标签,一个是主页,另一个是菜单。在菜单标签里我有两个李。根据选择的li值,需要在表中显示值

到目前为止,一切都进行得很顺利,但我的目标是每隔3000秒调用函数$scope.clicked使用$interval,并在我单击“主页”选项卡和“菜单”选项卡的“选定项”时停止$interval(即,我只想在菜单选项卡中选择li时执行$interval)

//代码在这里
var c=angular.module('myApp',[])
c、 控制器('myCtrl',函数($scope,$interval,$rootScope){
$scope.home=函数(){
$rootScope.selected=“”;
console.log(“主选择”);
};
$scope.menu=函数(){
$rootScope.selected=“”;
console.log(“选择菜单”)
} 
$scope.clicked=函数(已选择){
console.log(已选择)
$rootScope.selected=selected;
$scope.showTable=true;
$scope.menuItems=[{“id”:1,“name”:“Item1”,“price”:25},
{“id”:1,“name”:“Item2”,“price”:25},
{“id”:1,“name”:“Item3”,“price”:25},
{“id”:1,“name”:“Item4”,“price”:25},
{“id”:1,“name”:“Item5”,“price”:25},
{“id”:1,“name”:“Item6”,“price”:25},
{“id”:1,“name”:“Item7”,“price”:25}]
}
$interval(函数(){
$scope.clicked($rootScope.selected);
}, 1000);
})

你好,普朗克!
主页{{data} 知识产权是一种权利,是一种精英的权利,是劳动和财富的暂时性权利

  • 1
  • 2
  • 3
  • {{showTable}} 菜单 菜单Id 名称 价格 {{item.id} {{item.name} {{item.price}}
    试试看

    您可以使用
    $interval.cancel(计时器)
    取消
    $interval

    试一试

    您可以使用
    $interval.cancel(计时器)
    取消
    $interval

    请阅读-总结是,这不是一个理想的方式来解决志愿者,可能会适得其反获得答案。请不要将此添加到您的问题中。请阅读-总结是,这不是解决志愿者问题的理想方式,可能会对获得答案产生反作用。请不要将此添加到您的问题中。
    c.controller('myCtrl',function($scope,$interval){
      var timer;
      $scope.home = function(){
        console.log("Home Selected");
        $interval.cancel(timer);
      };
    
      $scope.menu = function(){
        console.log("Menu Selected")
        $interval.cancel(timer);
      } 
    
      $scope.clicked = function(selected){
        console.log(selected)
        timer = $interval(function(){
          console.log('hi')
        },300);
        $scope.menuItems=[{"id":1,"name": 'Item1',"price":25},
        {"id":1,"name": 'Item2',"price":25},
        {"id":1,"name": 'Item3',"price":25},
        {"id":1,"name": 'Item4',"price":25},
        {"id":1,"name": 'Item5',"price":25},
        {"id":1,"name": 'Item6',"price":25},
        {"id":1,"name": 'Item7',"price":25}]
      }
    
    
    })