$state.go() 不会在第一次单击 Button 时调用控制器
$state.go() does not call the controller first time on click of Button
我是Ionic Development的新手,面临着一个相当奇怪的问题。
我有两个页面主页和保存模板页面分别与主页Ctrl和保存模板控制。
从我的保存模板页面,我重定向到主页。
问题在于单击保存按钮重定向发生,但首次未调用主页控制器。连续调用 HomeCtrl 的次数。
代码如下:
主页控制:
.controller('HomeCtrl', function($scope, Template) {
alert("Within Home Controller");
})
保存模板Ctrl :
.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/。希望这对您有所帮助。问候。
相关文章:
- 当单击第一个李时,它显示内容一,当单击第二个李时,它显示内容二
- 单击一次后禁用按钮-第2部分
- 如何对每个用户每天只允许单击一次的按钮进行编码
- button.单击两次删除附加操作后不工作
- 为什么jQuery下拉列表需要单击两次
- 单击3次后禁用按钮
- 为什么在文本框内按回车键,单击第一个按钮并提交表单
- 为每个字母单击一次
- Rails-jQuery 为什么我必须单击两次才能显示 jQuery 效果
- 对同一类中的所有元素单击一次
- 单击一次以静音,另一次单击可取消静音
- 必须单击两次才能得到一个响应
- 如何在幻灯片中添加向上滚动功能单击1次即可向下滚动
- 如何加载一个html页面并在其中只需单击一次即可运行函数
- Javascript:表单在第一次验证和应用样式后提交
- 页面加载后的第一个锚定链接需要单击两次
- 在同一元素上单击两次,然后在另一个元素上单击两次,使第一个元素进入“单击”状态
- JavaScript单击事件只在InfoPath表单上第一次触发
- Ajax + JSF在第一次单击后单击2次
- 表单在第一次单击后N秒自动提交