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