1

我正在尝试构建一个注册视图,但我的问题是,如果用户已经注册,它会执行检查语句$ionicPlatform.ready,如下所示:

$ionicPlatform.ready(function() {

    db = $cordovaSQLite.openDB({ name: "my.db" });
    $cordovaSQLite.execute(db, "CREATE TABLE IF NOT EXISTS groups (id integer primary key, title text)");

    if (typeof(Storage) != "undefined") {
        // Store
        var registered = localStorage["isRegistered"];
        if(registered == undefined || !registered){
            $location.path('/register');
        }else{
            $location.path('/tab/groups');
        }
    }
});

在离子准备好之前预成型的问题$urlRouterProvider.otherwise('/tab/groups'),这意味着在第一次打开应用程序时,它会出现组选项卡,然后进入注册视图。我试图将语句检查用户是否已经注册,否则如下所示:

$urlRouterProvider.otherwise(function($injector, $location){
    if (typeof(Storage) != "undefined") {
        // Store
        var registered = localStorage["isRegistered"];
        if(registered == undefined || !registered){
            $location.path('/register');
        }else{
            $location.path('/tab/groups');
        }
    } });

此外,我还面临另一个问题,即在准备好在 ionic 中打开数据库之前,我们到达了组选项卡(从数据库中获取组)。有什么办法可以注册吗?

4

1 回答 1

0

离子平台可以在代码中的任何地方使用。你应该可以使用

    $urlRouterProvider.otherwise(function($injector, $location){
          $ionicPlatform.ready(function(){
                if (typeof(Storage) != "undefined") {
                    // Store
                    var registered = localStorage["isRegistered"];
                    if(registered == undefined || !registered){
                        $location.path('/register');
                    }else{
                        $location.path('/tab/groups');
                    }
                }
           });
    });

此外,状态提供者可能是更好的解决方案

于 2015-03-10T08:00:43.047 回答