हमारे कोणीय ऐप में हमें आईडी के साथ सौदा करना होगा जिसमें "डॉट" होता है। उदाहरण के लिए:यूआरएल क्वेरी पैरामीटर के साथ कोणीय यूई-राउटर जिसमें "डॉट"
book = {
id: '123.456'
}
हमें ऐसी आईडी का उपयोग यूआरएल पैरामीटर के रूप में करने में समस्याएं हैं। अगर नेविगेशन "कोणीय" के माध्यम से होता है, तो $state.go('bookDetails', {bookId: book.id});
को आमंत्रित करने वाले लिंक पर क्लिक करने पर सभी ठीक काम करते हैं। जब पृष्ठ को पुनः लोड लेकिन चीजें काम नहीं करते
नियंत्रक में
"/bookDetails?bookId=123.456 प्राप्त नहीं कर सकते": ध्यान में रखते हुए
$scope.viewBookDetails = function() {
$state.go('bookDetails', {bookId: book.id});
}
<a href="" ng-click="viewBookDetails(); $event.stopPropagation();">
में
राउटर:
.state('bookDetails', {
url: '/bookDetails?bookId'
}
ब्राउज़र में:
https://example.com/bookDetails?bookId=123.456
लिंक काम करता है "डॉट" ब्राउज़र में %2E
साथ बदल दिया है।
हम "% 2 ई" $ state.go()
$scope.viewBookDetails = function() {
$state.go('bookDetails', {bookId: book.id.split('.').join('%2E')});
}
के लिए पैरामीटर के साथ "डॉट" को बदलने के लिए कोशिश की, लेकिन क्योंकि "%" स्वचालित रूप से एन्कोड किया गया है काम नहीं करता है और "डॉट" ब्राउज़र में "% 252E"
https://example.com/bookDetails?bookId=123%252E456
तरह कनेक्ट-इतिहास-api-वापस आने के लिए शासन हो सकता है कि इस बात के लिए sluggify का उपयोग करें: https://github.com/paulsmith/angular-slugify मुझे यकीन है कि नहीं कर रहा हूँ अगर यह आपके मामले में काम करता है। – Michelangelo