AngularJS到抽象状态的转换

AngularJS到抽象状态的转换,angularjs,angular-ui,ionic-framework,Angularjs,Angular Ui,Ionic Framework,我正在开发一个使用AngularJS构建的应用程序,它有两种不同的状态: 应用程序介绍向导 应用程序页面(带有导航模板和嵌套视图) 我想默认为第一次有人访问应用程序时的状态1,完成向导后,继续进入应用程序页面,状态2 我的“应用”状态(状态2)是一个抽象状态,因为它有嵌套视图。所以我不能过渡到这种状态 .config(function($stateProvider, $urlRouterProvider) { $stateProvider .state('intro', { url

我正在开发一个使用AngularJS构建的应用程序,它有两种不同的状态:

  • 应用程序介绍向导
  • 应用程序页面(带有导航模板和嵌套视图)
  • 我想默认为第一次有人访问应用程序时的状态1,完成向导后,继续进入应用程序页面,状态2

    我的“应用”状态(状态2)是一个抽象状态,因为它有嵌套视图。所以我不能过渡到这种状态

    .config(function($stateProvider, $urlRouterProvider) {
    $stateProvider
    
      .state('intro', {
        url: '/',
        templateUrl: 'templates/intro.html',
        controller: 'IntroCtrl'
      })
    
      .state('app', {
        url: '/app',
        abstract: true,
        templateUrl: 'templates/menu.html',
        controller: 'AppCtrl'
      })
    
      .state('app.playlists', {
        url: "/playlists",
        views: {
          'menuContent' :{
            templateUrl: "templates/playlists.html",
            controller: 'PlaylistsCtrl'
          }
        }
      });
    
      $urlRouterProvider.otherwise("/");
    
    })
    

    我和你有同样的问题,这里有一篇关于抽象状态的帖子:

    它解释了为什么不能直接访问抽象状态


    希望能有所帮助。

    我已经在“简介”页面的控制器中添加了$location服务,并使用以下内容转换到适用于我的应用程序状态

    $location.path('app/playlists');
    
    将加载menu.html并导航到播放列表。

    在服务中:

    $location.path(
        $state.href('app.some.abstract.state', { some: 'params' })
    );
    
    或者在模板中(
    $state
    必须在本地或全局
    $scope
    中可用):

    
    
    那么要转换到其中一个子状态吗?和/或执行类似操作:$urlRouterProvider.when('/app','/app/playlists')@aet我尝试过这个,但是由于我的应用程序状态使用了一个侧菜单模板,所以直接转到应用程序/播放列表并没有加载到菜单中。@MarkK也遇到了同样的问题,没有解决这个问题的任何固定解决方案。我正试图将Ionic Intro教程与Splashscreen()集成在一起,使侧菜单应用程序解决问题。@Vinodkumararupu不幸的是,没有。我已经放弃了这个流程,并将其重新添加到我的应用程序中。
    <a ng-href="{{$state.href('app.some.abstract.state', { some: 'params' })}}">...</a>