के साथ URL में वर्तमान स्थिति का नाम छुपाएं मैं AngularJS $ StateProvider के साथ काम कर रहा हूं। अपने आवेदन में नेविगेट करने के लिए, उपयोगकर्ताओं, राज्य से दूसरे राज्य जाने के इस समारोह का उपयोग कर: काम कर देता है:
$rootScope.gotoState = function(stateName) {
$state.go(stateName, {}, { location: false });
};
इस राज्य को बदलने और यूआरएल (गलत स्थान) को बदले बिना नया दृश्य लोड करने के लिए अनुमति देता है।
हालांकि, एप्लिकेशन में प्रवेश करते समय (जो "index.html" पृष्ठ में होता है), प्रदर्शित यूआरएल "myWebsite/index.html #/tab/index" है, सूचकांक एप्लिकेशन की पहली स्थिति है। मेरा सवाल है: मैं इसे केवल "myWebsite/index.html" प्रदर्शित करने के लिए कैसे बदल सकता हूं?
नोट: फिलहाल, उपयोगकर्ता अपने ब्राउजर के पीछे और आगे बटनों को नेविगेट करने के लिए उपयोग नहीं कर सकते हैं क्योंकि स्थान गलत पर सेट है, इसलिए यदि कोई समाधान मौजूद है जो इस समस्या को हल करेगा, तो मुझे रूचि है ।
यहाँ राज्य घोषणा है:
angular.module('ionicApp', ['ionic', 'ngCookies'])
.config(function($stateProvider, $urlRouterProvider, $ionicConfigProvider) {
$ionicConfigProvider.tabs.position('top'); // values: bottom, top
$stateProvider
.state('tabs', {
url: "/tab",
abstract: true,
templateUrl: "templates/tabs.html"
})
.state('tabs.index', {
url: "/index",
cache:false,
views: {
'index-tab': {
templateUrl: "home.html"
}
}
})
.state('tabs.profile', {
url: "/profile",
cache:false,
views: {
'profile-tab': {
templateUrl: "profile.html"
}
}
})
$urlRouterProvider.otherwise("/tab/index");
})
.run(function($rootScope, $state, $location) {
$rootScope.$state = $state;
$rootScope.$location = $location;
$rootScope.gotoState = function(stateName) {
$state.go(stateName, {}, { location: false });
};
})
मैं एकल पृष्ठ अनुप्रयोगों के साथ बहुत परिचित नहीं हूँ, और अगर मैं क्या पूछना भी इस संरचना के साथ संभव है मैं नहीं जानता। यदि ऐसा नहीं है, तो मुझे यह जानकर बहुत खुशी होगी कि सबसे अच्छा विकल्प क्या है।
अपने प्रश्न का उत्तर देने के लिए: मुझे बैक/फॉरवर्ड बटन के बारे में बहुत कुछ परवाह नहीं है और मैं पूरी तरह से आपके बिंदु से सहमत हूं, कह रहा हूं कि एक अद्वितीय यूआरएल मेरे लिए फायदेमंद है। बात यह है कि, मेरा आवेदन मोबाइल उपकरणों और डेस्कटॉप ब्राउज़र दोनों पर काम करना चाहिए। यही कारण है कि मैंने पहली जगह आयनिक का उपयोग करने का फैसला किया, इसलिए मैं एक क्रॉस-प्लेटफ़ॉर्म एप्लिकेशन विकसित कर सकता हूं जो हर जगह काम करेगा।यही कारण है कि मैं यूआरएल की परवाह करता हूं। – Driblou