javascript - angularjs tutorial pdf




url जावास्क्रिप्ट में "प्रश्न चिह्न" कैसे पास करें (4)

आप decodeURIComponent उपयोग कर सकते हैं।

उदाहरण के लिए:

decodeURIComponent('http://url.com/my_app/#/store/items%3Fpage=2');
// will give you `http://url.com/my_app/#/store/items?page=2`

Angularjs ऐप में, मेरे पास एक url है
http://url.com/my_app/#/store/items
अब मैं उदाहरण के लिए क्वेरी स्ट्रिंग को जोड़ना चाहता हूं,
http://url.com/my_app/#/store/items?page=2

लेकिन url में, जावास्क्रिप्ट "?" to "%3F" एनकोड करता है "?" to "%3F" "?" to "%3F" जो मैं नहीं चाहता। यह "रहना चाहिए?" केवल url में angularjs $ location.search () "% 3F" के लिए कुछ नहीं देता है।

यह कैसे किया जा सकता है?


आप एक पैरामीटर ऑब्जेक्ट बना सकते हैं जैसे:

var param = {
    page: 2
}
$location.url("/store/items").search(param)

यदि आप $ स्थान सेवा का उपयोग कर रहे हैं, तो इसके $location.url('/store/items?page=2') उपयोग करें। यह कम से कम 1.0.7 से सेटर विधि रही है और मेरे 1.1.5 ऐप में एक उपचार का काम करती है।


यदि आप यूआई-राउटर का उपयोग कर रहे हैं जो अत्यधिक अनुशंसित है, तो आप here वर्णित अनुसार $state.go(to, params, options) उपयोग कर सकते here

शर्त के रूप में आपको अपने राज्य को ठीक से परिभाषित करने की आवश्यकता है, इसका मतलब है कि हर संभव क्वेरी पैरामीटर को ui- राउटर के लिए जाना जाना चाहिए। निम्नलिखित उदाहरण देखें ( page और otherParam ):

$stateProvider.
state('storeItems', {
  url: '/store/items?page&otherParam',
  templateUrl: '/modules/store/views/item.client.view.html'
});

और फिर आप कॉल करके नियंत्रक से उदाहरण के लिए स्थानों को बदल सकते हैं

$scope.gotoItemsPage = function(page) {
  $state.go('storeItems', {
    page: page,
    otherParam: 'Just a show off'
  });
};

एन्कोडिंग की जरूरत नहीं है और अत्यधिक पठनीय है!






angularjs