AngularJS : Wie Sie mehrere Parameter übergeben Sie den controller durch ng-href?

Ich habe eine Tabelle mit Schaltfläche Bearbeiten, um den Datensatz aktualisieren. Wenn ich das übergeben von einzelnen id zu ng-href seine Arbeitsmethoden in Ordnung und öffnen von Formular-Seite:

Ex: In meinem index.html Tabelle

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

Aber möchte ich weitergeben eine weitere parameter zusammen mit row._id ng-href-wie:

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

Seine nicht funktioniert, und die Umleitung zur Startseite.

Hier mein controller:

    $timeout(function () {
        if ($routeParams.id !== undefined) {                
            $http.get('/providerlist/'+$routeParams.id, {
                params:{
                    id:$routeParams.id, 
                    collectionName:$routeParams.collectionName
                }
            }).success(function (response) {
                alert(response);
                $scope.providerList = response;
                $scope.id = response['_id'];
            });
        }
    });

app.js für routing:

var ProviderApp = angular.module('ProviderApp', ['ngRoute'])
.config(['$routeProvider', function ($routeProvider) {
    $routeProvider
    .when('/home', {
        templateUrl: 'templates/home/index.html',
        controller: 'HomeController',
        controllerAs: 'home'
    })

    .when('/provider', {                            
        templateUrl: 'templates/provider/index.html',
        controller: 'ProviderController',
        controllerAs: 'provider'
    })                        
    .when('/provider/:id', {                            
        templateUrl: 'templates/provider/form.html',
        controller: 'ProviderController',
        controllerAs: 'provider'
    })                        
    .otherwise({
        redirectTo: '/home'
    });
}]);

Hier so genau, was ich tun möchte, ist nach einem Klick auf edit - Taste, es sollte eine Weiterleitung an form.html mit dem parameter/Daten id und collectionName

Jede mögliche Hilfe würde geschätzt.

Sie müssen ändern Sie die '/provider/:id'...so etwas wie ...'/provider/:id/Sammlung/:collectionName' und verwenden dann die Parameter im regler... mit $routeParams....
Ich habe versucht .when('/provider/:id/collection/:collectionName', { templateUrl: 'templates/provider/form.html', controller: 'ProviderController', controllerAs: 'provider' }) sondern seine nicht funktioniert
Ich denke, das ist, weil Sie zwei roues /provider/... mit dem gleichen Namen...
Ja.. aber die beiden sind anders. 2. nimmt der parameter 1. man ist nicht
ja, Aber ich denke, da Sie die Zuordnung mehrere Routen, die.. gleichen controller-Funktion..könnte es ein Problem werden, in parameter-Behandlung.. Sie können versuchen, ändern Sie und prüfen Sie, ob es funktioniert...

InformationsquelleAutor Sky | 2016-03-13

Schreibe einen Kommentar