如何只制作一个状态一次?

时间:2015-03-26 05:51:07

标签: angularjs

我在ui-router中有两种状态。一个是“欢迎”,另一个是“家”。

是否可以仅在首次启动应用时输入“欢迎”状态,并且无法再输入?

为了更清楚地说明:

*。用户安装应用程序并启动 *。 app进入州'欢迎' *。 app通过'welcome'中的按钮进入州'home'

之后,应用程序无法再返回“欢迎”,包括通过硬件返回按钮(android)或再次启动应用程序。

有关如何实现这一目标的任何想法?

1 个答案:

答案 0 :(得分:0)

在您的第一条路线welcome

在控制器内部,在localStorage

中设置变量
app.controller("FirstController", function($scope, $state) {
    if(localStorage.getItem("didVisited")) {
        $state.go("home");
    } else {
      localStorage.setItem("didVisited", true);
    }
});

我也在我的ionic应用中使用过它。它有效!

更好的方法是检查localStorage方法本身的run

app.run(function($state) {
    if(localStorage.getItem("didVisited")) {
        $state.go("home");
    } 
});

现在在homeController

中的localStorage中设置变量