如何将 routeProvider 属性传递给控制器

How to pass routeProvider attributes to controller

我需要使用从 routeProvider 传递的一些数据设置一个控制器。

我希望将值主题传递到我的控制器 VideoCtrl,然后分配给一个值,例如 video.topic

  $routeProvider
    .when('/video/:topic', {
        templateUrl: 'pages/video/video-page.tmpl.html',
        controller: 'VideoCtrl',
        controllerAs: 'video'       
    });

看来我只需要在我的控制器函数中调用 $routeProvider:

app.controller('VideoCtrl', function($routeProvider) {
    var video = this;
    video.topic = $routeProvider.topic; // What do I need to add here?
    ...
});

但我似乎无法弄清楚如何将 $routeProvider 注入控制器。

我想,你需要把$routeParams作为controller参数传入,然后你就可以得到传过来的route值了。

app.controller('VideoCtrl', function($routeParams) {
    var video = this;
    video.topic = $routeParams.topic; 
    ...
});