Heim > Web-Frontend > js-Tutorial > Wie übergebe ich Parameter mit ui-sref und rufe sie im Controller ab?

Wie übergebe ich Parameter mit ui-sref und rufe sie im Controller ab?

Mary-Kate Olsen
Freigeben: 2024-11-06 15:37:03
Original
228 Leute haben es durchsucht

How to Pass Parameters with ui-sref and Retrieve them in the Controller?

Parameter mit ui-sref übergeben und im Controller abrufen

Problem

Sie müssen zwei Parameter mit ui-sref und an einen Status übergeben Zugriff darauf im State Controller. Es treten jedoch Probleme mit undefinierten Parameterwerten im Controller auf.

Lösung

Um Parameter mit ui-sref zu übergeben und im Controller abzurufen, führen Sie die folgenden Schritte aus:

  1. Statusdefinition aktualisieren:
$stateProvider
    .state('home', {
      url: '/:foo?bar', // Define parameter placeholders in the URL
      views: {
        '': {
          templateUrl: 'home.html',
          controller: 'MainRootCtrl'
        },
        ...
      }
    });
Nach dem Login kopieren
  1. Verwenden Sie $stateParams im Controller:
.controller('MainRootCtrl', function($scope, $state, $stateParams) {
    var foo = $stateParams.foo; // Access fooVal
    var bar = $stateParams.bar; // Access barVal
})
Nach dem Login kopieren

Granulare Parameterkonfiguration

Zusätzlich zu URL-Parameterplatzhaltern können Sie auch granulare Parameter mithilfe des params-Objekts in Statusdefinitionen definieren:

.state('other', {
    url: '/other/:foo?bar',
    params: {
        foo: {
          value: 'defaultValue',
          squash: false,
        },
        bar: {
          array: true,
        },
        hiddenParam: 'YES',
      }
    ...
Nach dem Login kopieren

Beispielverwendung

So übergeben Sie Parameter mithilfe von ui-sref und rufen sie mit der aktualisierten Statusdefinition ab:

<a ui-sref="home({foo: 'fooVal1', bar: 'barVal1'})"></a>
<a ui-sref="home({foo: 'fooVal2', bar: 'barVal2'})"></a>
Nach dem Login kopieren

Parameterkonfigurationsoptionen

Die Parameterobjekteinstellungen umfassen:

  • value: Gibt den Standardparameterwert an.
  • array: Behandelt den Parameter als Array.
  • squash: Konfiguriert, wie Standardparameterwerte werden in der URL dargestellt.

Weitere Informationen finden Sie in der UI-Router-Dokumentation zu URL-Parametern und $stateProvider.

Das obige ist der detaillierte Inhalt vonWie übergebe ich Parameter mit ui-sref und rufe sie im Controller ab?. 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