带路径变量的角度网址

时间:2015-10-30 15:17:00

标签: javascript angularjs

我想将angular url更改为/ jobs / id。我在下面写了一个。这会有用吗?

$ location.path(" / JobHire /作业/&#34 + response.data.id);

我该怎么写路由配置?我这样配置了

$routeProvider
            .when('/jobs/:id',{
                templateUrl:'partials/job.html'
            })
            .otherwise({
                redirectTo:'/'
            }); 

        $locationProvider.html5Mode(true);

这是正确的方法吗?如何在控制器中检索这些参数。

2 个答案:

答案 0 :(得分:2)

您需要使用控制器。

$routeProvider
            .when('/jobs/:id',{
                templateUrl:'partials/job.html',
                controller: 'jobController'
            })
            .otherwise({
                redirectTo:'/'
            }); 

在控制器内部,您需要执行以下操作:

.controller(function($scope, $http, $location) {

    var my_id = $location.id;

    $http.get('some_API/jobs/' + my_id).success(function(data) {
      //do something width data;
    });

 });

答案 1 :(得分:1)

您需要在路径配置中定义一个控制器

$routeProvider
            .when('/jobs/:id',{
                templateUrl:'partials/job.html',
                controller: 'somecontroller'
            })
            .otherwise({
                redirectTo:'/'
            }); 

app.controller([$scope,$routeParams], function($scope, $routeParams){
 var id = $routeParams.id;
});

这是你如何从网址获取id。