2016-10-25 5 views
6

में अगले राज्य पैराम कैसे प्राप्त करें IU-router 1.0.0.beta.3 का उपयोग कर रहा हूं। एक संक्रमण के दौरान मैं अगले राज्य के मार्ग पैरामीटर कैसे प्राप्त कर सकता हूं?यू-राउटर: संक्रमण

index.run.js

$transitions.onStart({ to: '**' }, verifyAuth); 

function verifyAuth(trans) { 
    let nextState = trans.$to(); 
    if (Auth.verify(nextState.authGroup) === -1) {  
    return $state.go('login', { nextState: nextState.name, nextParams: nextState.params}); // this doesn't work 
    } 
} 

मैं उन्हें स्टोर करने के लिए तो मैं, राज्य + राज्य पैरामीटर वह पहुँचने का प्रयास कर रहा था करने के लिए उपयोगकर्ता अनुप्रेषित कर सकते हैं के बाद प्रमाणीकरण सफल रहा है चाहता हूँ।

login.component.js

let nextState = this.$stateParams.nextState; 
let nextParams = this.$stateParams.nextParams; 
$state.go(nextState, nextParams); 

उत्तर

9

अपने प्रश्न का उत्तर Transition.params()

function verifyAuth(trans) { 
    let nextState = trans.to(); 
    let nextParams = trans.params(); 
    if (Auth.verify(nextState.authGroup) === -1) {  
    return $state.go('login', { nextState: nextState.name, nextParams: nextParams}); 
    } 
} 

है हालांकि, मैं अध्ययन कर कैसे ui-router 1.0 sample app प्रदर्शन प्रमाणीकरण चेक और लॉगिन पुनर्निर्देश की सिफारिश:

यह हुक एक $state.target('login')

https://github.com/ui-router/sample-app-ng1/blob/master/app/global/requiresAuth.hook.js#L15-L24

लौटने लॉगिन राज्य में से लॉगिन स्थिति को अप्रमाणित संक्रमण पुनर्निर्देश, निर्धारित किया जाता है "राज्य प्रवेश के बाद पर लौटने के लिए"। यह Transition.redirectedFrom() का उपयोग कर मूल संक्रमण के गंतव्य की जांच करता है।

https://github.com/ui-router/sample-app-ng1/blob/master/app/main/app.states.js#L44-L83

+0

अच्छा जवाब लेकिन,,। $ आप एक विरासत परियोजना है कि एक ही बार में इतना रिफैक्टरिंग नहीं संभाल कर सकते हैं, 1.0.5 पर मुझे लगता है मैं 'इस्तेमाल कर सकते हैं ट्रांस पाया के साथ फंस रहे हैं परिशिष्ट के रूप में प्रतिस्थापन में ड्रॉप के रूप में() 'और' trans। $() 'से ड्रॉप। उम्मीद है कि मैं नमूना ऐप की रणनीति के साथ कुछ और बार फिर से इसे फिर से कर सकता हूं। – toxaq

संबंधित मुद्दे