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
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...
Ich habe versucht
.when('/provider/:id/collection/:collectionName', { templateUrl: 'templates/provider/form.html', controller: 'ProviderController', controllerAs: 'provider' })
sondern seine nicht funktioniertIch 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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie möchten, verwenden Sie mehrere Parameter
ng-href
sollten Sie auch aktualisieren Sie Ihre route url inapp.js
.wenn Sie mehrere Parameter in
ng-href
aber keine passende route mit dieser route dann arbeiteteotherwise
route, Umleitung zuhome
.können Sie es ausprobieren.
in html:
route hinzufügen, in
app.js
wieund im controller ändern zu müssen wie:
also server-side-route sollte wie:
/providerlist/:id/collectionName/:cName
Aktualisiert meine Antwort hinzufügen von controller-code @Mark
ohh Super.. das ist es, was mir fehlte.. meine aktualisierten code und seine Arbeit jetzt.. danke shaishab..!!!
Sie sind willkommen 🙂
InformationsquelleAutor Shaishab Roy
Den Weg in ngRoute-Pfad enthalten kann, die benannten Gruppen, beginnend mit einem Doppelpunkt und endet mit einem star wie :name* , Alle Zeichen sind eifrig gespeichert in $routeParams unter dem angegebenen Namen, wenn die route passt.
Wird, beispielsweise Strecken wie : /Farbe/:Farbe/largecode/:largecode*/edit
Für diese Beispiel-URL : /Farben/Braun/largecode/code/mit/slashes/edit
Und extrahieren:
So, in Ihrem Fall ist es die Route wird
Dadurch wird sichergestellt, dass, auch wenn es Sonderzeichen und Schrägstriche in Ihrer daraus resultierenden "href" - link werden Sie weitergeleitet, um die ordnungsgemäße Steuerung und Seite...
InformationsquelleAutor damitj07