7

编辑:添加了 $routeProvider 和 $routeParams,但 $routeParams.productId 始终未定义。这是我最初的尝试,但我认为这是错误的方式。无论如何,它暂时不起作用。

我开始学习 AngularJS,我有一个非常简单的问题:根据 URL 中包含的 ID,我想显示不同的 BD 记录。

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

我的 Javascript 文件:

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 没有成功。

提前谢谢你,比尔

4

1 回答 1

10

您需要两件事,将 $routeParams 注入您的控制器并使用 get 方法创建有效路由

    MyApp.controller('MyCtrl',['$scope','$http',"$routeParams",
        function($scope,$http,$routeParams) {
             $http.get("/get/"+$routeParams.productId).success(function(data) {
                 $scope.record = data;
        });
    };
于 2013-01-10T14:17:36.323 回答