Ionic Angular routeprovider无效

时间:2015-12-15 12:49:26

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

我在Ionic App上工作,我遇到了麻烦。 我是AngularJS和Ionic的新手。

用户需要登录才能使用该应用。要检查这个,在应用程序的输入时会调用我的服务器的apicall。如果用户未登录,则应用程序将显示用户可以登录的模式。

但是,在apicall制作的小秒针中,您会看到"内部"应用程序(限制页面)。 为了避免这种情况,我想放置一个应用程序检查用户是否登录的屏幕。如果用户已登录,则屏幕需要在应用程序中进一步发送用户。

这个问题是应用程序没有发送用户。我用一个简单的href(ui-sref)代替了所有的代码,但是它也没有用。

有趣,奇怪的部分是如果我在浏览器中运行它可行。但是在我的手机上(android)并没有做任何事情。

我尝试使用$ location.path的函数,但我没有把它发送到任何地方。它确实设置了路径。

我试过$ apply,$ digest,$ window.location.href ....等等都没有用。

如果我不使用等待屏幕,一切正常。

wait.html

<a ui-sref='app.proposals({"favorite" : 0})'>Continue</a>

RouteProvider

matcher.config(function($stateProvider, $urlRouterProvider,     $ionicConfigProvider)
{
  $ionicConfigProvider.tabs.position("bottom");
  $ionicConfigProvider.tabs.style("standard");

  $stateProvider
  .state('app', {
    url: '/app',
    abstract: true,
    templateUrl: 'templates/menu.html',
    controller: 'AppCtrl'
  })
  .state('app.proposals', {
    url: '/proposals/:favorite',
    views: {
      'menuContent': {
        templateUrl: 'templates/proposals.html',
        controller: 'ProposalsCtrl'
      }
    }
  })
  .state('app.proposal', {
    url: '/proposal/:title/:id/:url',
    views: {
      'menuContent' : {
        templateUrl: 'templates/proposal.html',
        controller: 'ProposalCtrl'
      }
    }
  })
  .state('wait',{
    url: '/wait',
    templateUrl: 'templates/wait.html',
    controller: 'WaitCtrl'
  });

  // if none of the above states are matched, use this as the fallback
  //$urlRouterProvider.otherwise('/app/proposals/0');
  $urlRouterProvider.otherwise('/wait');
});

1 个答案:

答案 0 :(得分:1)

好吧,现在,解决这个问题的最佳方法是使用更好的做法。您的应用程序遵循标准身份验证流程现在,根据我的说法,如果你只是在上下文中设置当前视图的动画,那就更好了。这将有两个目的

  • 减少渲染加载时间;
  • 摆脱你的问题。

据我所知,这里的问题是,当您进行API调用时,Ionic会尝试获取缓存页面。修复它以获得默认基本检查的最佳方法;指向index.htmlIndexController检查是用户登录的,如果是,则使用$state.go("STATE_NAME")进入登录状态,否则,转到您登录的状态。

当我这样说时,请相信我:这不仅会更容易,而且一旦应用程序代码真正建立起来,它也会更易于维护。

如果您需要任何进一步的说明和/或代码示例,请在此处进行评论。我没有把它们包括在内,因为它很简单,并且推断出你已​​经熟悉的逻辑和语法。