javascript - Angular UI Router: Different states with same URL? -
मेरे ऐप के लैंडिंग पृष्ठ में दो राज्य हैं: होम-सार्वजनिक
, home- लॉग-इन
। अब मैं एक ही यूआरएल पर दोनों राज्यों को दिखाना चाहता हूं, लेकिन नियंत्रक और टेम्पलेट उपयोगकर्ता सत्र पर निर्भर करते हैं (उपयोगकर्ता में प्रवेश किया गया है या नहीं?)।
क्या इस को प्राप्त करने का कोई तरीका है? < / P>
आप एक आधार राज्य हो सकते हैं जो कि किस राज्य को लोड करने के लिए नियंत्रित करता है, और आप आसानी से उस बच्चे को बता सकते हैं उस मूल राज्य में यूआरएल नहीं है:
.state ('home', {url: "/ home", templateUrl: "....", नियंत्रक: फ़ंक्शन ($ scope, $ state , AuthSvc) {if (authSvc.userIsLoggedIn ()) {$ state.go ('home.loggedin')} और {$ state.go ('home.public')}}}) .state ('home.public' , {Url: "", templateUrl: "....", नियंत्रक: फ़ंक्शन ($ गुंजाइश) {...........}}) .state ('home.loggedin', {url: "", टेम्पलेटउरिल: "....", नियंत्रक: फ़ंक्शन ($ गुंजाइश) {...........}})
अब नियंत्रक में आपकी आधार स्थिति ( घर
) आप देख सकते हैं कि उपयोगकर्ता लॉगिन है या नहीं , और एक उपयुक्त स्थिति को लोड करने के लिए $ state.go ()
का उपयोग करें।
संपादित करें
जैसा वादा किया है।
Comments
Post a Comment