2016-10-10 1 views
0

저는 ionic을 사용 중이며 앱을 만들려고합니다. 오전 데 문제는 내가 새로운 상태로 이동 한 때, 사용하는 것입니다 : 그것은 내 새로운 뷰/템플릿을 탐색뿐만 아니라 내가 새 템플릿 위에서 탐색 이전 템플릿을 보여줍니다이오 네비게이션 state.go는 이전보기를 표시합니다.

.controller('appCtrl', function($scope, $state) { 
    $scope.navigate = function(path) { 
     $state.go(path); 
    }; 
}) 

. 사진을 첨부하여 문제를 설명합니다.

<button ng-click="navigate('signup')">let's sign up!</button> 

View one

:

Theese 내 경로

.config(function($stateProvider, $urlRouterProvider) { 
    $stateProvider 
    .state('login', { 
     url: '/login', 
     templateUrl: 'views/auth/login.html', 
     controller: 'loginCtrl' 
    }) 

    .state('signup', { 
     url: '/signup', 
     templateUrl: 'views/auth/signup.html', 
     controller: 'signupCtrl' 
    }); 

    $urlRouterProvider.otherwise('/login'); 
}); 

컨트롤러

.controller('appCtrl', function($scope, $state) { 
    $scope.navigate = function(path) { 
     $state.go(path); 
    }; 
}) 

.controller('signupCtrl', function() {}) 
.controller('loginCtrl', function() {}) 

내 버튼이 새로운 상태를 호출 할 수 있습니다

왜 그런가?

답변

0

여기서 "appCtrl"을 (를) 호출하고 있습니까?

"appCtrl"이 주 컨트롤이면 다음과 같이 stateprovider를 변경해야합니다.

.config(function($stateProvider, $urlRouterProvider) { 
     $stateProvider 
     .state('app', { 
      url: '/app', 
      abstract: true, 
      templateUrl: 'views/auth/master.html', 
      controller: 'appCtrl' 
     }) 
     .state('app.login', { 
      url: '/login', 
      templateUrl: 'views/auth/login.html', 
      controller: 'loginCtrl' 
     }) 

     .state('app.signup', { 
      url: '/signup', 
      templateUrl: 'views/auth/signup.html', 
      controller: 'signupCtrl' 
     }); 

     $urlRouterProvider.otherwise('/login'); 
    }); 
+0

야의 URL의 값입니다

.controller('appCtrl', function($scope, $location) { $scope.navigate = function(path) { $location.path(path); }; }) 

. 내 index.html에서만 appCtrl을 사용하고 있습니다. , 그래서 stateprovider를 통해 호출하지 않습니다. – newbieDevs

0

$location.path을 사용하지 않으시겠습니까? 경로의 값이 당신의 $stateProvider

관련 문제