如何将ui路由器的url参数注入控制器

时间:2017-05-19 18:39:27

标签: angularjs angular-ui-router

仍在学习角度并得到一个问题。

inj ui router config我得到了这个例子:

.state('content-expertise', {
            url: '/expertise/:expertiseId',
            templateUrl: 'app/content/content.html',
            controller: 'ContentController',
            controllerAs: 'content',
            params: {
                expertiseId: { value: null, dynamic: true }
            }
        })

在我的控制器中我得到了这段代码:

function StartController($timeout, webDevTec, toastr) {
    var vm = this;

    vm.awesomeThings = [];
    vm.classAnimation = '';
    vm.creationDate = 1494746446244;
    vm.showToastr = showToastr;

如何将url参数中的'expertiseId'变量注入控制器?

thx任何帮助, n00n!

2 个答案:

答案 0 :(得分:2)

您可以使用$stateParams服务访问当前state

的参数
function StartController($timeout, webDevTec, toastr, $stateParams) {
    var vm = this;
    console.log("expertiseId", $stateParams.expertiseId)
    vm.awesomeThings = [];
    vm.classAnimation = '';
    vm.creationDate = 1494746446244;
    vm.showToastr = showToastr;

答案 1 :(得分:1)

function StartController($timeout, webDevTec, toastr, $stateParams) {

并像访问它一样:$stateParams.expertiseId