简体   繁体   English

链接中的角度ui-sref参数

[英]Angular ui-sref params in link

in my router in Angular i have a url, but i dont know how add params to this link. 在我的Angular路由器中,我有一个网址,但我不知道如何向此链接添加参数。

router.js router.js

.state("support.root.gateways.invitationDetails", {
        url: "/invitations/details?invitationToken",
        templateUrl: "gateways/views/IvnitationDetails.html",
        controller: "InvitationDetailsController as ctrl",
        data: {
            title: "TITLE_GATEWAYS",
            requireLogin: true,
            roles: [
                ROLES.ROOT,
                ROLES.ADMIN,
                ROLES.SUPPORT3,
                ROLES.SUPPORT2,
                ROLES.SUPPORT1,
                ROLES.ENDUSER,
                ROLES.MAINTAINER
            ]
        }
    })

View.html View.html

<td>
    <a href="" ui-sref="support.root.gateways.invitationDetails({   invitationToken:  ctrl.invitationToken})">
        {{ "INVITATIONS_DETAILS" | translate}}
    </a>
</td>

and InvitationDetailsController.js InvitationDetailsController.js

angular.module("support.gateways")
    .controller("InvitationDetailsController", function(Gateways, $stateParams) {
    var vm = this;
    vm.invitationToken = $stateParams.invitationToken;
    alert($stateParams.invitationToken);
});

您可以通过将router.js中的 url 更改为:

url: "/invitations/details/:invitationToken"
.state('support.root.gateways.invitationDetails', {
    url: '/invitations/details?invitationToken',
    templateUrl: "'gateways/views/InvitationDetails.html',
    controller: 'InvitationDetailsController',
    controllerAs: 'ctrl',
    params: {
      invitationToken: null
    },
    data: {
        title: 'TITLE_GATEWAYS',
        requireLogin: true,
        roles: [
            ROLES.ROOT,
            ROLES.ADMIN,
            ROLES.SUPPORT3,
            ROLES.SUPPORT2,
            ROLES.SUPPORT1,
            ROLES.ENDUSER,
            ROLES.MAINTAINER
        ]
    }
})

In your stateProvider's state, I changed the controller line and added controllerAs , also added the params line. 在stateProvider的状态下,我更改了控制器行并添加了controllerAs ,还添加了params行。

Then for your link, do as you had: 然后对于您的链接,按原样进行:

<a href="" ui-sref="support.root.gateways.invitationDetails({ invitationToken:  ctrl.invitationToken})">
  {{ "INVITATIONS_DETAILS" | translate}}
</a>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM