के रूप में हारून ने कहा आप एक डिफ़ॉल्ट बच्चे राज्य के लिए नेविगेट करने के लिए $ राज्य उपयोग कर सकते हैं, लेकिन यहाँ वहाँ एक पकड़ने है कहना मान लीजिए कि आप 1 से अधिक बच्चा है:
.state('places',
{
url:'/places',
controller:'PlacesController',
templateUrl:'views/places.html'
})
.state('places.city',
{
url:'/:city',
templateUrl:function(stateParams)
{
return 'views/places/'+stateParams.city+'.html';
}
})
.state('places.child2',
{
url:'/:city2',
templateUrl:function(stateParams)
{
return 'views/places/'+stateParams.child2+'.html';
}
});
और आप माता-पिता नियंत्रक PlacesController आपके पास $ state.go (places.city) है जब भी मूल नियंत्रक यानी स्थान नियंत्रक को बुलाया जाता है तो आपको शहर के राज्य में रीडायरेक्ट कर दिया जाएगा। तो अगर कोई बच्चा 2 राज्य पर है और रीफ्रेश बटन दबाता है तो मूल नियंत्रक को बुलाया जाएगा और उसे शहर में रीडायरेक्ट किया जाएगा जो आप नहीं चाहते हैं!
उत्तर: तो तुम एक पुनर्निर्देशन यानी अगर व्यक्ति माता पिता अवस्था में है ऐसा करने से पहले वर्तमान स्थिति के लिए जाँच कर सकते हैं तो किसी भी डिफ़ॉल्ट बच्चे राज्य को अनुप्रेषित लेकिन अगर व्यक्ति बच्चे राज्यों में से किसी में है तो ऐसा नहीं करते हैं अभिभावक नियंत्रक में पुनर्निर्देशन: -
if($state.current.name == "places"){
$state.go('places.city');
}
उम्मीद है कि इससे मदद मिलती है!माता-पिता राज्य
.state('places',
{
url:'/places',
resolve: { default: function($state) {
if ($state.is('places')) $state.go('places.city', { url: 'london'})
}}
controller:'PlacesController',
templateUrl:'views/places.html'
})
.state('places.city',
{
url:'/:city',
templateUrl:function(stateParams)
{
return 'views/places/'+stateParams.city+'.html';
}
});
सिंटैक्स त्रुटि के लिए चेक पर
स्रोत
2014-09-08 11:11:39
आप सेटअप कर सकते हैं एक jsfiddle इस्तेमाल किया कर रहा हूँ? –
क्षमा करें, वाक्यविन्यास हाइलाइटर सेट नहीं था। अब पढ़ने के लिए साफ होना चाहिए। – Francisc
[कोणीय ui-राउटर डिफ़ॉल्ट बाल राज्य] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/17001589/angularjs-ui-router-default-child-state) –