Heim > Web-Frontend > js-Tutorial > Wie kann ich Parameter mithilfe von ui-sref im ui-router an Controller übergeben?

Wie kann ich Parameter mithilfe von ui-sref im ui-router an Controller übergeben?

Susan Sarandon
Freigeben: 2024-11-06 18:56:02
Original
662 Leute haben es durchsucht

How can I Pass Parameters to Controllers Using ui-sref in ui-router?

Übergabe von Parametern an Controller mithilfe von ui-sref im ui-router

Im ui-router wird ui-sref zum Übergang in einen Status verwendet ermöglicht die Übergabe von Parametern an die Steuerung. Zur Verdeutlichung können Sie zwei Parameter, „foo“ und „bar“, an einen Zielzustand senden und empfangen.

Zustandsdefinition

Aktualisieren Sie die Zustandsdefinition auf „Akzeptieren“. Parameter in der URL:

  $stateProvider
    .state('home', {
      url: '/:foo?bar',
      views: {
        '': {
          templateUrl: 'tpl.home.html',
          controller: 'MainRootCtrl'
        }
      }
    });
Nach dem Login kopieren

Controller-Verbrauch

Rufen Sie innerhalb des Controllers die Parameter von $stateParams ab:

  .controller('MainRootCtrl', function($scope, $state, $stateParams) {
    //..
    var foo = $stateParams.foo; //getting fooVal
    var bar = $stateParams.bar; //getting barVal
    //..
  })
Nach dem Login kopieren

Link-Generierung

Um die Parameter zu übergeben, verwenden Sie diese Syntax:

<a ui-sref="home({foo: 'fooVal', bar: 'barVal'})">
Nach dem Login kopieren

Dies führt zum Übergang in den „Home“-Zustand mit den angegebenen foo- und bar-Parametern, die dann ausgeführt werden können kann im Controller über $stateParams aufgerufen werden.

Parameter anpassen (optional)

Mit der Eigenschaft „params“ in der Statusdefinition können Sie das Parameterverhalten weiter konfigurieren:

  $stateProvider
    .state('other', {
      url: '/other/:foo?bar',
      params: {
        foo: {
          value: 'defaultValue',
          squash: false,
        },
        bar: {
          array: true,
        },
        hiddenParam: 'YES',
        // (not in URL)
      }
    });
Nach dem Login kopieren

Zu den Parametereinstellungen gehören:

  • Wert: Standardwert
  • Array: Parameterwert als Array behandeln
  • Squash: Standardwert steuern Wertdarstellung in URL

Parameterinjektion

Controller-Parameterinjektion erfolgt über $stateParams. Sie können Werte abrufen mit:

var paramValue = $stateParams.paramName;
Nach dem Login kopieren

Auf diese Weise ermöglicht der UI-Router die Parameterübergabe zwischen Zuständen mithilfe von ui-sref für einfache Zustandsübergänge und Parameterzugänglichkeit im Controller.

Das obige ist der detaillierte Inhalt vonWie kann ich Parameter mithilfe von ui-sref im ui-router an Controller übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage