我是Ionic Development的新手,面临一个相当奇怪的问题。

我有两个页面,分别是HomePage和SaveTemplateCtrl,分别是HomeCtrl和SaveTemplateCtrl。

从“保存模板页面”,我将重定向到“主页”。

问题是发生了“保存按钮”重定向的onClick,但第一次未调用Homepage控制器。连续两次调用HomeCtrl。

代码如下:

HomeCtrl:

.controller('HomeCtrl', function($scope, Template) {
  alert("Within Home Controller");
})


SaveTemplateCtrl:

.controller('SaveTemplateCtrl ', function($scope) {

    $scope.saveTemplate = function(template) {
     //**Logic for Saving the Template
     setTimeout(function() {
       alert("Going to Home Controller");
       $state.go('myapp.home');
    },1200);
   };

 })


咨询并帮助我解决此问题。

提前致谢,
:)

最佳答案

如果您的主页是默认页面,则当您第一次进入主页时,将执行HomeCtrl。但是,如果您尚未禁用主页的缓存,则当您从“保存模板页面”重定向到主页时,由于离子视图缓存机制,将不会再次使用HomeCtrl。为了提高性能,我们应尽量不要禁用缓存。如果每次输入都需要执行某些功能,则可以将它们放在$ionicView.beforeEnter事件处理程序中:

    .controller('HomeCtrl', function($scope, Template) {
      $scope.$on('$ionicView.beforeEnter', function(){
        alert("Within Home Controller");
      });
    })


有关离子视图生命周期的更多信息,请参考http://www.gajotres.net/understanding-ionic-view-lifecycle/。希望这会帮助你。问候。

10-06 12:53