2013-06-20 10 views
83

मैं एंगुलरयूआई रूटिंग का उपयोग कर रहा हूं और मैं ng-class="{active: current.state}" करना चाहता हूं लेकिन मुझे यकीन है कि इस तरह के निर्देश में वर्तमान स्थिति को बिल्कुल सही तरीके से कैसे पहचानें।निर्देश के भीतर वर्तमान स्थिति का पता लगाने के लिए

उत्तर

110

इसके अलावा, आप ui-sref सक्रिय के निर्देश का उपयोग कर सकते "stateName" | includedByState

0

चेक बाहर कोणीय-ui, विशेष रूप से, मार्ग की जाँच: http://angular-ui.github.io/ui-utils/

+0

मैं वर्तमान स्थिति की जांच करने की कोशिश कर रहा हूं, जरूरी नहीं कि मार्ग – Webnet

142

अद्यतन:

इस उत्तर Ui-रूटर के एक बहुत बड़े रिहाई के लिए किया गया था। हालिया रिलीज (0.2.5+) के लिए, कृपया सहायक निर्देश ui-sref-active का उपयोग करें। विवरण here


मूल उत्तर:

अपने नियंत्रक में $ राज्य सेवा को शामिल करें। आप इस सेवा को अपने दायरे पर किसी संपत्ति को असाइन कर सकते हैं।

एक उदाहरण:

$state.includes('stateName'); 

इस विधि रिटर्न: अगर एक राज्य वर्तमान सक्रिय है

$state.current.name 

जांचने के लिए:

$scope.$state = $state; 

फिर अपने टेम्पलेट्स में वर्तमान स्थिति प्राप्त करने के लिए यदि राज्य शामिल है, तो भी सही है, भले ही यह घोंसला वाले राज्य का हिस्सा हो। यदि आप घोंसला वाले राज्य में थे, user.details, और आपने $state.includes('user') के लिए चेक किया है, तो यह सच होगा।

अपनी कक्षा उदाहरण में, आप कुछ इस तरह करते हैं:

<ul> 
    <li ui-sref-active="active" class="item"> 
    <a href ui-sref="app.user({user: 'bilbobaggins'})">@bilbobaggins</a> 
    </li> 
    <!-- ... --> 
</ul> 

या फिल्टर: "stateName" | isState &

ng-class="{active: $state.includes('stateName')}" 
+3

उन राज्यों के बारे में क्या है जिनमें पैरामीटर हैं? –

+3

https://github.com/angular-ui/ui-router/wiki/Quick-Reference#stateincludesstatename--params –

22

यदि आप यूई-राउटर का उपयोग कर रहे हैं, तो $ state.is() का प्रयास करें;

तुम इतनी की तरह उपयोग कर सकते हैं:

$state.is('stateName');

Documentation

0

कि मेरे लिए काम किया ui-sref सक्रिय निर्देश का उपयोग किया गया:

<li ui-sref-active="{'active': 'admin'}"> 
    <a ui-sref="admin.users">Administration Panel</a> 
</li> 

के रूप में "tgrant59 31 मई, 2016 को टिप्पणी की गई टिप्पणी" के तहत here मिला।

मैं कोणीय-UI-राउटर v0.3.1 का उपयोग कर रहा हूं।

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