2014-12-03 137 views
1

我目前有一个内置路由的AngularJS应用程序。它可以工作,一切都可以。 我有2个控制器。 在第一个控制器我有一个按钮,当我点击按钮第二个控制器将运行。如何在不刷新angularjs的情况下返回上一页?

当我尝试返回或history.back()第一个控制器再次执行。

如何预防?

+2

请添加一些您尝试过的代码。 – 2014-12-03 10:03:57

+1

这是角度如何工作。如果路线改变 - 控制器被执行。 – dfsq 2014-12-03 10:07:59

+0

如果我有一些http调用,并在我的第一个控制器中加载一些图像,然后我去第二个控制器。如果我再回去,那么我需要做一个http调用。有没有什么办法从缓存中显示它? – simon 2014-12-03 10:53:44

回答

1

如果您将控制器写入特定于页面的页面,那么当页面从一个页面重定向到另一个页面时,angularjs将始终执行控制器。

如果您的应用程序是SPA,那么你可以通过声明NG-视图之前指定一个控制器重写(它不是一个很好的做法)。作为

<div ng-controller="controller as cont"> 
     <div ng-view> 
     </div> 
    </div> 

现在将持有的所有数据,直到应用程序关闭掉但是,你应该知道缓存。