停止控制器's切换路由时的活动
Stop Controller's activity when switch route
我用AngularJS创建了单页应用程序,发现了我的问题。我在路由A中使用jQuery每2分钟刷新一次数据。当我切换到其他路由时,控制器中的该功能仍在工作。这是我的密码。
App.js
var newsapp = angular.module('newsAppMD', ['ngRoute']);
newsapp.config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/news', {
templateUrl: 'templates/news.html',
controller: 'imageNewsCtrl'
}).
when('/news/:nameCat', {
templateUrl: 'templates/news-thumbnail.html',
controller: 'newsPageCtrl'
}).
otherwise({
redirectTo: '/news'
});
}]);
newsapp.controller('imageNewsCtrl', function($scope, $http, $interval, $timeout ) {
$('#bottom-bar').find('#epg').hide();
$scope.updateTimeEPG = 120000;
$scope.fetchFeed = function() {
$http.get("http://wi.th/thaipbs_tv_backend/epg_forJS.php").success(function(response) {
$scope.items = response.Schedule;
console.log($scope.items);
$timeout(function() { $scope.fetchFeed(); }, $scope.updateTimeEPG);
}).then(function() {
$('#bottom-bar').find('.loading').hide();
$('#bottom-bar').find('#epg').show();
});
};
$scope.fetchFeed();
});
newsapp.controller('newsPageCtrl', function($scope, $http, $location) {
// blah blah blah
}]);
我选择/news
imageNewsCtrl
工作。当我切换到其他路由时,imageNewsCtrl
中的功能仍然有效(当我更改路由时,我看到了功能print console.log)。我想在改变路线时停止控制器中的功能。谢谢大家的建议。:)
我不太确定,但尝试使用$stateProvider而不是$routeProvider。如果你这样做了,那么你需要npm安装angular ui路由器(它是一个强大的第三方模块)并更换ngroute。我只为.ethere函数使用$routeProvider。您还可以使用$stateProvider执行更多很酷的操作,如onEnter和onExit。另一件事是,我建议您只使用Angular而不是jQuery。我真的不认为你同时使用这两种方法有什么意义。使用Angular的双向数据绑定!此外,如果你真的想进入Angular,那么我推荐John Papa的风格指南。这些家伙知道他在说什么来制作一个伟大的Angular应用程序。我希望这些信息能有所帮助!
相关文章:
- Emberjs应用程序加载在除Index之外的所有路由上
- 使用Dnamics CRM 2011中的JavaScript读取子网格的所有记录,而不考虑活动页面
- 正在使用$location.path(.)路由ng视图
- 在AngularJS应用程序中使用封装指令和路由的推荐方式是什么
- 字符串在将其传递给另一个活动Android JavaScript时读取Null
- 活动选项卡's源代码-获取变量s值
- 在Angular 2中布线期间保持零部件处于活动状态
- 在ajax成功后,cluetip不适用于首次点击活动元素
- 如何使bxslider仅在移动视图中处于活动状态
- 未激发路由的控制器属性上的观察者
- JQuery中的活动搜索栏
- AngularJS ui路由器html5模式中断路由
- 悬停下拉菜单即使在鼠标移出后也保持活动状态
- 停止控制器's切换路由时的活动
- 如何确定当前路由在 React 中是否处于活动状态
- 将当前路由活动 ID 传递给组件
- 如何在react router 1中获取活动路由路径名
- Express4.js -路由只有当有一个活动的passport.js会话
- react router链接高亮显示同级路由处于活动状态
- 获取指示哪个路由处于活动状态的布尔值 [角度 2]