gpt4 book ai didi

angularjs - ionic : Method call on page enter

转载 作者:行者123 更新时间:2023-12-02 11:28:14 24 4
gpt4 key购买 nike

我有一个

< ion-side-menu >
with links to my pages defined here:

    app.config(function($stateProvider, $urlRouterProvider, $ionicConfigProvider) {

$stateProvider.state('content', {
url: "/content",
abstract: true,
templateUrl: "templates/sidemenu.html",
controller: 'SideController'
});

$stateProvider.state('content.home', {
url: "/home",
views: {
'menuContent': {
templateUrl: "templates/home.html",
controller: "HomeController"
}
}
});

$stateProvider.state('content.nearby', {
url: "/nearby",
views: {
'menuContent': {
templateUrl: "templates/nearby.html",
controller: "NearbyController"
}
}
});

$stateProvider.state('content.map', {
url: "/map",
views: {
'menuContent': {
templateUrl: "templates/map.html",
controller: "MapController"
}
}
});

$stateProvider.state('content.radar', {
url: "/radar",
views: {
'menuContent': {
templateUrl: "templates/radar.html",
controller: "RadarController"
}
}
});

$stateProvider.state('content.location-details', {
url: "/location-details/:index",
views: {
'menuContent': {
templateUrl: "templates/location-details.html",
controller: "DetailsController"
}
},
resolve: {
currentLocation: function($stateParams, shareService, NearbyFactory)
{
return NearbyFactory.getLocations()[$stateParams.index];
}
}

});

$urlRouterProvider.otherwise("/content/home");
});

当用户导航到此页面以及离开页面时(用于加载 AJAX 数据或开始监听某些 Cordova 传感器),我想在 Controller 中执行一个方法。像这样:

    app.controller("HomeController", function()
{
$scope.onEnter = function(previous_page)
{
...
};

$scope.onExit = function(next_page)
{
...
};
});

我已经在 $stateProvider 状态中尝试过 onEnter 和 onExit,但据我所知,我在那里没有 $scope。

获得此功能的最简单/最好/最好的方法是什么?如果我可以确定上一页/下一页以及用户是否向后/向前导航,那就太好了。我试过这个:

$scope.$on('$routeChangeStart', function(event, next, current)
{
console.log(next);
});

但这并不是每次都有效,并且在加载页面时也没有触发。这对我来说似乎有点脏,因为我必须在每个 Controller 中实现它。

谢谢!

最佳答案

您可以使用 $ionicView.beforeEnter 和 beforeLeave。只需将其添加到您的 HomeController 中:

   app.controller("HomeController", function()
{
$scope.$on('$ionicView.beforeEnter', function() {
//do stuff before enter

});
$scope.$on('$ionicView.beforeLeave', function() {
//do your stuff after leaving

});
});

您可以查看 $ionicView here 的文档.

关于angularjs - ionic : Method call on page enter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28418869/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com