我是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/。希望这会帮助你。问候。