2017-09-13 16 views
0

많은 게시물을 읽었지만 작동하지 않습니다. $ state.go을 사용하여 일부 데이터를 전달하고 싶습니다. 이것이 내가 데이터를 전달하는 방법이다

.state('app.404', { 
    url: '404', 
    views: { 
     '[email protected]': { 
     templateUrl: 'views/empty.html' 
     }, 
     '[email protected]': { 
     templateUrl: '404.html', 
     controller: 'fofController' 
     }, 
     '[email protected]': { 
     templateUrl: 'views/empty.html' 
     }, 
     params: {errorInfo: null} 
    } 
    }) 

:

내 상태

$state.go('app.404', {errorInfo: {status: 403, message: 'unauthorised', fix: 'You have to login'}}); 

를이 내가 내 컨트롤러의 데이터를 잡으려고 방법입니다

.controller('fofController', ['$scope', '$state', 
function ($scope, $state) { 
    console.log($state.params); 
}]) 

하지만 대답은 빈 개체 ({})입니다. 또한 아래와 같이 $ stateParams를 사용하지만, 빈 개체 같은 결과를 얻을 :

.controller('fofController', ['$scope', '$stateParams', 
function ($scope, $stateParams) { 
    console.log($stateParams); 
}]) 
+0

$ state.params. errorInfo 무엇이 당신에게 –

+0

대답을 "undefined" –

+0

'params' 설정은 당신의 상태 설정에서'views' 설정 안에 있습니다. 그것을 위로 움직여 라. –

답변

0

옵션 -1

.state('404.contact/', { 
    url: '/contact/:obj', 
    templateUrl: "contact.html", 
    controller: "contactCtrl", 
    params: { 
     obj: null, 
    } 
}) 
.state('404.header', { 
    url: '/header/:number', 
    templateUrl: "header.html", 
    controller: "headerCtrl", 
    params: { 
     obj: null 
    } 

})

옵션-2

$state.go(..... 

이 코드를 대신 사용해보십시오

,
$state.transitionTo(... 

옵션-3

아마도

$stateProvider 
.state('user', { 
    url: '/user/:obj', 
    templateUrl: 'templates/user.html', 
    controller: 'UserCont' 
}) 

URL

로 전송 시도는 어쩌면 이러한 문제에 대한 솔루션입니다.

Working example with $state.go()

+0

답장을 보내 주셔서 감사합니다. 그러나 문제는 혼자서하는 바보 같은 실수였습니다. params는 뷰 섹션에 없어야합니다. @JC Ford가 말한대로 : \t \t params 구성은 상태 구성의보기 구성 내에 있습니다. 그것을 위로 움직여 라. –

관련 문제