输入视图时,如何在Ionic中调用函数?

时间:2016-08-25 14:42:26

标签: javascript angularjs ionic-framework

我有一个列出用户个人资料的个人资料页面。用户可以单击编辑按钮来编辑所有用户相关信息。用户保存页面后,会导航回到理想情况下应自动更新的配置文件页面。

现在我缺少一种当用户导航到某个页面时触发的事件。 window.onPopState()仅对.controller('UserProfileCtrl', function($scope, $http, $window, LocationService) { $window.onPageShow = function() { console.log("UserProfileCtrl->onPageShow(), getting location and loading user."); LocationService.getLocation(); $scope.init(); }; $scope.init = function() { $http.post("my-backend-address") .success(function (data, status, headers, config) { $scope.user = data.user; }) } }); 执行一次,相同。当用户离开页面时会触发Quantity<Length> len = Quantities.getQuantity(10, MetricPrefix.KILO(Units.METRE)); Quantity<Length> mile = len.to(USCustomary.MILE);

我的想法是依赖这样的事件,然后调用$ scope.init()来下载用户信息并将其设置为视图:

{{1}}

1 个答案:

答案 0 :(得分:0)

在Ionic中你有一个名为View Events的东西,你可以阅读它们here。您的用例有两个您感兴趣的事件:$ionicView.loaded$ionicView.beforeEnter

以下是如何将其与代码一起使用的代码示例:

$scope.$on("$ionicView.beforeEnter", function() {
   console.log("UserProfileCtrl->onPageShow(), getting location and loading user.");
  LocationService.getLocation();
  $scope.init();
});

简而言之,在创建视图时调用$ionicView.loaded,并且每次要输入视图时都调用$ionicView.beforeEnter。我建议您尝试使用$ionicView.beforeEnter来查看它是否适合您的使用案例。