Javascript 在angularjs中更改选项卡时停止$interval
我有两个标签,一个是主页,另一个是菜单。在菜单标签里我有两个李。根据选择的li值,需要在表中显示值 到目前为止,一切都进行得很顺利,但我的目标是每隔3000秒调用函数$scope.clicked使用$interval,并在我单击“主页”选项卡和“菜单”选项卡的“选定项”时停止$interval(即,我只想在菜单选项卡中选择li时执行$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
//代码在这里
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}]
}
})