$location
सेवा ब्राउज़र पता बार से यूआरएल पार्स करती है और यूआरएल को आपके ऐप पर उपलब्ध कराती है। चूंकि आप नियमित URL पथ और खोज सेगमेंट का उपयोग कर रहे हैं, इसलिए आपको को $locationProvider
के साथ सत्य पर सेट करना होगा।
डिफ़ॉल्ट रूप से, $locationProvider
हैशबैंग का उपयोग करता है, इसलिए यदि आप html5Mode
को सत्य पर सेट नहीं करते हैं, तो आप URL पथ लाने का प्रयास करते समय खाली स्ट्रिंग प्राप्त करेंगे।
html5mode
सेट करने के बाद, आप URL पथ लाने के लिए $location
सेवा का उपयोग कर सकते हैं और पथ को संसाधित करने के लिए अपना स्वयं का नियम लिख सकते हैं।
उदाहरण के लिए, मान लेते हैं कि अपना पूरा URL लगता है: http://example.com/person/show/321
फिर main.js
में आप हो सकता है:
angular.module("MyAPP",[],function($locationProvider){
$locationProvider.html5Mode(true);
});
function MainController($location){
var pId = $location.path().split("/")[3]||"Unknown"; //path will be /person/show/321/, and array looks like: ["","person","show","321",""]
console.log(pId);
}
और index.html
में आप हो सकता है:
<!DOCTYPE html>
<html lang="en" ng-app="MyAPP">
<head>
<meta charset="utf-8">
<title>Angular test</title>
</head>
<body ng-controller="MainController">
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.6/angular.min.js"></script>
<script src="js/main.js"></script>
</body>
</html>
आशा इस आपके लिए सहायक है
, $ स्थान निर्भरता इंजेक्शन का उपयोग कर के लिए एक ही लाभ है? (ऐसा लगता है कि एनजी को कुछ सुविधाजनक एपीआई प्रदान करना चाहिए ...) – ryanwebjackson