2013-01-10 21 views
7

संपादित करें: जोड़ा गया $ मार्गप्रदाता और $ रूट पैराम, लेकिन $ रूट पैराम्स.प्रॉडक्ट आईडी हमेशा अनिर्धारित है। यह मेरी प्रारंभिक कोशिश थी, लेकिन मैंने सोचा कि यह गलत तरीका था। वैसे भी यह इस पल के लिए काम नहीं करता है।यूआरएल पैरामीटर

मैं एंगुलरजेएस सीखना शुरू करता हूं और मेरे पास एक बहुत ही सरल सवाल है: यूआरएल में निहित आईडी के आधार पर, मैं अलग-अलग बीडी रिकॉर्ड प्रदर्शित करना चाहता हूं।

... 
<div ng-app=MyApp> 
    <div ng-controller="MyCtrl"> 
    {{ record }} 
    </div> 
</div> 
... 

मेरे जावास्क्रिप्ट फ़ाइल:

var MyApp = angular.module("MyApp",[]); 

MyApp.config(['$routeProvider', function($routeProvider) { 
    $routeProvider 
    .when('/get/:productId', { 
     controller: 'MyCtrl' 
    }); 
}]) 

MyApp.controller('MyCtrl',['$scope','$routeParams','$http', 
    function($scope,$routeParams,$http) { 
    $http.get("/get/"+$routeParams.productId).success(function(data) { 
     $scope.record = data; 
    }); 
}]) 

मैं सफलता के बिना $ routeProvider और $ routeParams का उपयोग करने की कोशिश की।

अग्रिम धन्यवाद, विधेयक

+0

यह पूरी तरह से संभव है कि "मिल" में है के साथ एक मान्य मार्ग बनाने आपके पथ का नाम टकराव है, क्योंकि यह एक HTTP क्रिया और एक $ http विधि भी है। – jpsimons

उत्तर

10

आप 2 बातें की जरूरत है, $ routeParams अपने नियंत्रक में इंजेक्शन और प्राप्त विधि

MyApp.controller('MyCtrl',['$scope','$http',"$routeParams", 
     function($scope,$http,$routeParams) { 
      $http.get("/get/"+$routeParams.productId).success(function(data) { 
       $scope.record = data; 
     }); 
    }; 
+0

जो मुझे याद आ रहा है वह यह है कि URL पर उपयोग की जाने वाली गोंद लिंकिंग आईडी और $ pathParams.productId को कैसे कार्यान्वित किया जाता है। मैंने बिना किसी सफलता के $ routProvider.when ('/ get /: productId', {नियंत्रक: 'MyCtrl'}) की तरह कुछ करने की कोशिश की है। – billdangerous

+0

आपका मार्गप्रोवाइडर कॉन्फ़िगरेशन कहां है? http://docs.angularjs.org/tutorial/step_07 – mpm

+0

$ रूट के साथ अपडेट किया गया प्रदाता – billdangerous

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