2017-06-20 57 views
0

我想在用户登录时显示一个HTML文件。现在我们有一个幻灯片,它在登录后呈现给用户,但在它之后,我想显示另一个视图。用户登录后的欢迎界面| Angular 1.5和Ionic V1

我在这个项目上,虽然我是新的角度和离子跳下来,我想这是我们如何渲染出的幻灯片:

在我们的控制,我们有操作幻灯片背后的逻辑的IntroCtrl。那么,我需要创建另一个控制器来显示我的视图吗?

.controller('IntroCtrl', function ($scope, $state, $localStorage, $ionicSlideBoxDelegate, $ionicScrollDelegate, $stateParams) { 

$scope.$on('$ionicView.enter', function (e) { 
    $ionicScrollDelegate.resize() 
    $ionicSlideBoxDelegate.slide(0, 1) 
}) 
$scope.email = $stateParams.email 
$scope.startApp = function() { 
    $localStorage.hasViewedSlideBox 
    $state.transitionTo('tab.dash') 
} 

$scope.next = function() { 
    $ionicSlideBoxDelegate.next(); 
} 

})

我发现这个在我们app.js和该文件包含$stateProvider$urlRouterProvider$ionicConfigProvider。 在底部,我发现很多这样的:

.state('login', { 
url: '/login', 
cache: false, 
templateUrl: 'templates/login.html', 
controller: 'LoginCtrl' 

})

所以我想我应该创建一个包含templateUrl和我的观点的控制器一个新的?我在网上读到这些.state与Angular路由有关,但我可能是错的。

但是,如果有人能指引我,我会非常高兴。 就像我说的,我想在幻灯片放映后显示一个新的视图。

谢谢!

回答

0

我建议创建一个新的HTML和设计“afterLogin” HTML和复制你的state(要在其中登录后重定向),其注释掉,改变templateUrl到新的HTML文件。
这应该做你想要的一切。
新文件中不需要您的IntroCrl,因为它只会运行不存在的幻灯片。
但你应该插入

$scope.startApp = function() { 
    $localStorage.hasViewedSlideBox 
    $state.transitionTo('tab.dash') 
} 

到新的控制器。

如果你没有一个路线,你登录后重定向,你必须要提供更多的代码,所以我们可以更深入了解它

+0

嘿! 我没有意识到'$ state.transitionTo('tab.dash')'转换到另一个'.state'。所有的状态都在我的'app.js'文件中创建。 但是你想让我插入你写的那段代码? –

+0

我认为startApp实际上会启动应用程序并停止滑块 – Mephiztopheles