2016-05-03 11 views
0

In meinem app.js, ich meine Routen ist Konfiguration mit folgendem Code zu verschiedenen Controllern zu navigierendefinieren Routen in Winkeln basierend auf Zustand

var urlArray=['Suggest','Comment']; 
var pdfURL="Suggest"; 
app.config(function($routeProvider,$locationProvider) { 
    .when('/datatrial/' +pdfURL, { 
     templateUrl: 'simple/TestPanelTrial.html', 
      controller: 'SimpleDemoTrailController' 
     });}); 

Derzeit i Variable pdfUrl bin hinzugefügt wird. Ich möchte Bedingung hinzufügen, dass, wenn pdfURL mit einer der Zeichenfolge in urlArray übereinstimmt, dann nur die Bedingung wann in den entsprechenden Controller landen. Der obige Code befindet sich in app.js, was die erste Datei ist, die geladen wird. informieren Sie bitte, wie dies erreicht werden kann.

Antwort

1

Anstelle eines .when() möchten Sie einen Zustand mit einem Parameter.

.state('/datatrial', { 
    url: "/datatrial/:id", 
    templateUrl: 'simple/TestPanelTrial.html', 
    controller: function ($stateParams) { 
    if ($state.params.id !== 'Suggest') { 
     $state.go('/error'); 
    } 
    } 
}); 

Dies ist nicht getestet, aber ich glaube, es wird funktionieren. Transversal könnte man diese Funktion in den Controller einfügen, da ich sehe, dass Sie auf einen Link in Ihrer Frage verlinken, aber ich gebe ihn ein, wie ich es kurz gesagt habe.

+0

Vielen Dank für Ihre Antwort.Meine VorlageUrl und Controller bleibt gleich, unabhängig davon, was PDFURL ausgewählt wird.Aber wir müssen sicherstellen, dass die PDFURL ist die, die in der definierten Array vorhanden sind. Wenn es nicht in diesem definierten Array ist, wir muss eine Fehlerseite anzeigen. Mit dieser Bedingung erläutern Sie bitte anhand eines Beispiels, wie Sie statusbasiertes Routing verwenden. – kab

+0

Ich habe meine Antwort mit einem Code aktualisiert, um Sie auszuhacken. –

Verwandte Themen