编辑: 添加了 $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 没有成功。

先感谢您,
账单

最佳答案

你需要两件事,在你的 Controller 中注入(inject)的 $routeParams 并使用 get 方法创建一个有效的路由

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

关于javascript - AngularJS Controller 取决于 URL 参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14259739/

10-12 18:56