AngularJS : How to pass multiple parameters to controller through ng-href?

前端 未结 2 1789
慢半拍i
慢半拍i 2021-01-06 10:18

I\'ve a table containing edit button to update the record. When I\'m passing single id to ng-href its working fine and opening form page:

E

相关标签:
2条回答
  • 2021-01-06 10:39

    If you want to use multiple params in ng-href you should also update your route url in app.js.

    when you used multiple parameters in ng-href but no route matching with this route then worked otherwise route that redirect to home.

    you can try it.

    in html:

    <a class="btn btn-warning" ng-href="#/provider/{{row._id}}/collectionName/{{collectionName}}">Edit</a>
    

    add a route in app.js like

    .when('/provider/:id/collectionName/:cName', {                            
            templateUrl: 'templates/provider/form.html',
            controller: 'YourController'
        });
    

    and in controller need to change like:

     $http.get('/providerlist/'+$routeParams.id +'/collectionName/'+ $routeParams.cName)
     .success(function (response) {
         alert(response);
         $scope.providerList = response;
         $scope.id = response['_id'];
     });
    

    so server side route should be like: /providerlist/:id/collectionName/:cName

    0 讨论(0)
  • 2021-01-06 10:40

    The path in ngRoute path can contain named groups starting with a colon and ending with a star like :name* , All characters are eagerly stored in $routeParams under the given name when the route matches.

    For example, routes like : /color/:color/largecode/:largecode*/edit

    For this sample URL : /color/brown/largecode/code/with/slashes/edit

    And extract:

    color: brown

    largecode: code/with/slashes.

    So in your case it the Route will be

    .when('/provider/:id*\/collectionName/:collectionName*\', {                            
            templateUrl: 'templates/provider/form.html',
            controller: 'ProviderController',
            controllerAs: 'provider'
        })   
    

    This will ensure that even if there are special characters and forward slashes in your resultant href link you are redirected to proper controller and page...

    0 讨论(0)
提交回复
热议问题