2013-01-10 3 views
7

편집 : $ routeProvider 및 $ routeParams가 추가되었지만 $ routeParams.productId는 항상 정의되지 않았습니다. 그것은 처음 시도 였지만 잘못된 생각이었습니다. 어쨌든 그것은 잠시 동안 작동하지 않습니다.URL 매개 변수에 따라 AngularJS 컨트롤러

나는 AngularJS를 배우기 시작하고 아주 간단한 질문이 있습니다. URL에 포함 된 ID에 따라 다른 BD 레코드를 표시하고 싶습니다.

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

내 자바 스크립트 파일 : 나는 성공없이 $ routeProvider 및 $ routeParams를 사용하려고

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; 
    }); 
}]) 

.

당신이이 일을 필요로 사전에 빌

+0

이 글은 "GET"고 완전히 가능성이있는 유효한 경로를 생성 당신의 경로는 HTTP verb와 $ http 메서드이기 때문에 이름 충돌이 있습니다. – jpsimons

답변

10

감사,은 $ routeParams는 컨트롤러에 주입 get 메소드

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

내가 누락 된 것은 URL에 사용 된 접착제 연결 ID와 $ routeParams.productId를 구현하는 방법입니다. 나는 성공하지 못한 $ routeProvider.when ('/ get/: productId', {controller : 'MyCtrl'}) 같은 것을 시도했다. – billdangerous

+0

귀하의 routeProvider 설정은 어디에 있습니까? http://docs.angularjs.org/tutorial/step_07 – mpm

+0

$ routeProvider로 업데이트 – billdangerous

관련 문제