在$ state.go之后执行$ window.location.reload(true)

时间:2015-04-03 14:16:31

标签: javascript ios angularjs cordova ionic-framework

我正在开发这个Ionic / Cordova应用程序,我必须在$ state.go之后重新加载。我这样做是

$state.go('app.menu', {}, {reload: true}).then(function(){
              $window.location.reload(true);
      });

上面的代码在浏览器上运行得很好,当我将它加载到iPhone模拟器上时会出现问题。问题是它没有进入指定的状态,即app.menu

但是,如果我删除了$window.location.reload(true);,它就会进入状态。

您认为这是什么问题?

编辑:如果我添加超时工作, ,但我不想要 。像这样

$state.go('app.menu', {}, {reload: false}).then(function(){
        setTimeout(function() {
          $window.location.reload(true);
        }, 500);
      })

2 个答案:

答案 0 :(得分:2)

毫不拖延地使用$ timout。它对我有用。

$timeout(function() {
    $window.location.reload(true);
});

答案 1 :(得分:1)

这对我有用:Source Here

按照设计,视图会被缓存。 在您的州内尝试缓存:错误

$stateProvider.state('myState', {
    cache: false,
    url : '/myUrl',
    templateUrl : 'my-template.html'
})