多个分辨率和角度

时间:2015-07-24 19:20:07

标签: javascript angularjs ionic-framework angular-ui-router angular-promise

我在我的角应用中使用了UI-Router。我也在运行多个分阶段的决议。让我解释。我希望第一个决心发生,一旦承诺被退回,我想激活第二个决心。到目前为止,这是我的解决方案。

.state('tab.profile', {
url: '/profile',
reload: true,
cache: false,
views: {
  'tab-profile': {
    templateUrl: 'templates/tabs/profile.html',
    controller: 'ProfileController as profile',
    resolve: {
      signedInUser: function (UserRecord) {
        return UserRecord.retrieve( )
      },
      currentUser: function (signedInUser, User) {
        //signedInUser is returned as null 

        if (signedInUser) {
          return User.show({id: signedInUser.user_id}).$promise;
        } else {
          return false;
        }
      }

    }
  }
}
})

这是我的UserRecord.retrieve方法。

function retrieve() {
var q = $q.defer();

var query = 'SELECT user_credentials, user_id FROM Users;';

$ionicPlatform.ready(function (){
  $cordovaSQLite.execute(db, query).then(function(res) {
    if (res.rows.length > 0) {
      console.log("found user");

      console.log(JSON.stringify(res));
      q.resolve(res.rows[0]);
    } else {
      console.log("no rows found");
      q.resolve(false);

    }
  }, function (err) {
    q.reject(err);
  });
});

return q.promise;
}

问题是第一个进入的解决方案返回为null。我不完全确定我错了什么或我错过了什么步骤。

0 个答案:

没有答案
相关问题