2014-07-05 7 views
8

डाल रहा है मैं $location.hash के साथ AngularJS $anchorScroll का उपयोग करने की कोशिश कर रहा हूं। हालांकि, जब मैंने हैश सेट किया है, तो AngularJS एक आगे स्लैश जोड़ता है,/उसके बाद।एंगुलरजेएस आगे स्लैश/हैश टैग

उदाहरण के लिए, यूआरएल है: http://localhost:13060/Dashboard। जब मैं AngularJS लाइब्रेरी को शामिल नहीं करता हूं, तो मैं लिंक, #contact पर क्लिक कर सकता हूं, और http://localhost:13060/Dashboard#contact पर जा सकता हूं।

लेकिन जब मैं एंगुलरजेएस शामिल करता हूं और लिंक पर क्लिक करता हूं, तो यह http://localhost:13060/Dashboard#/contact पर काम करने से $ एंकर स्क्रॉल को रोकता है।

संपादित $ anchorScroll काम नहीं कर रहा

प्रारंभिक यूआरएल http://localhost:13060/Category है। जब मैं कोई श्रेणी जोड़ता हूं, तो इसे http://localhost:13060/Category#/#id (जहां आईडी नई आईडी है) पर जाना चाहिए और पृष्ठ को नीचे स्क्रॉल करना चाहिए। यूआरएल सही ढंग से अपडेट हो रहा है लेकिन $ एंकर स्क्रॉल स्क्रॉल नहीं कर रहा है।

//jump to new category 
$location.path(""); 
$location.hash(cat.ID); 
$anchorScroll(); 

उत्तर

5

जब तक आप html5mode, जो कोणीय मार्ग से हैश को हटा का उपयोग करें, आप 2 हैश, एंकर के लिए कोणीय मार्ग के लिए एक और अन्य होगा।

http://localhost:13060/Dashboard#/#contact

आप एक मार्ग पथ /profiles के रूप में स्थापित किया था और लंगर उस दृश्य में था यूआरएल कैसा दिखेगा मान लें: $

http://localhost:13060/Dashboard#/profiles#contact

+0

मैं URL सही तरीके से अब प्रारूपित है, लेकिन anchorScroll () पृष्ठ पर स्क्रॉल नहीं कर रहा है। –

+0

मैं ईमानदार रहूंगा, मैंने कभी एंकरस्क्रॉल का उपयोग नहीं किया है। क्या '$ location.hash() 'आउटपुट जो आप उम्मीद करेंगे (दूसरा हैश)? – charlietfl

+0

हां, यह हैश सही तरीके से अपडेट करता है (जब मैं पथ निर्दिष्ट करता हूं), लेकिन फिर परिवर्तन को दर्शाने वाले यूआरएल ब्राउज़र बार के अलावा कुछ भी नहीं होता है। –