2012-07-19 18 views
11

पर आधारित मॉडल अपडेट करें यह मूल रूप से इस प्रश्न का पालन करने वाला प्रश्न है: AngularJS - How to use $routeParams in generating the templateUrl?। इस प्रश्न के उचित संदर्भ के लिए वहां मेरा कोड देखें।एंगुलरजेएस - यूआरएल

सभी नेविगेशन हिस्सा महान काम कर रहा है, लेकिन अब जब मैं नेविगेट, मैं अपने $scope में कुछ गुण primaryNav और secondaryNav के आधार पर अपडेट करना चाहते हैं। मैंने सोचा कि मैं $watch के साथ कुछ कर सकता हूं लेकिन मुझे काम करने के लिए कुछ भी नहीं मिल रहा है।

$scope.$watch($location.path(), function() {...}); //result in js error 
$scope.$watch($location, function() {...}); //function runs once on page load, but not after that 
$scope.$watch($window.location, function() {...}); //function runs once on page load, but not after that 
$scope.$watch(window.location, function() {...}); //function runs once on page load, but not after that 
$scope.$watch(window.location.href, function() {...}); //results in js error 

मैं शायद अपने नियंत्रक में कुछ विधि है कि इन एनएवी ले जाएगा और सब कुछ अद्यतन और बंद नेविगेट और बस सभी एंकर टैग करने के लिए एक ng-click जोड़ने बना सकते हैं: यहाँ कुछ चीजें मैंने कोशिश कर रहे हैं। हालांकि, एंगुलरजेएस के बारे में मुझे वास्तव में पसंद आया एक चीज़ जो hrefs के लिए असली यूआरएल दिखने वाले मूल्यों का उपयोग कर रही थी (उदा। <a href="#/priNav/secNav">Foo</a>)। जब मैं नियंत्रक पर कुछ विधि के बिना मार्गांतरित करता हूं तो बदलते यूआरएल के आधार पर अपना मॉडल अपडेट करना संभव नहीं है? मुझे उम्मीद है कि यह समझ में आता है कि मैं क्या पूछ रहा हूं।

उत्तर

33
$scope.$watch(function() { 
    return $location.path(); 
}, function(){ 
    ... 
}); 

आप एक समारोह या एक स्ट्रिंग है गुंजाइश

+0

आह ... मैं एक समारोह देखने के बारे में भूल गया के अंदर मूल्यांकन किया जा सकता पास करना चाहिए। सब कुछ मैं कोशिश कर रहा था एक स्ट्रिंग पर था। '$ स्कोप। $ घड़ी ($ location.path, function() {});' काम नहीं करता है, लेकिन '$ स्कोप। $ घड़ी (फ़ंक्शन() {वापसी $ location.path()}, फ़ंक्शन() { ...}); 'करता है। धन्यवाद! – dnc253

+2

धन्यवाद! यह [$ location.search] के लिए भी काम करता है (http://sharepointkunskap.wordpress.com/2012/11/22/angularjs-sync-location-search-with-an-input-value/) –

संबंधित मुद्दे