Heim  >  Artikel  >  Web-Frontend  >  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
Mary-Kate OlsenOriginal
2024-11-06 15:37:03150Durchsuche

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'
        },
        ...
      }
    });
  1. Verwenden Sie $stateParams im Controller:
.controller('MainRootCtrl', function($scope, $state, $stateParams) {
    var foo = $stateParams.foo; // Access fooVal
    var bar = $stateParams.bar; // Access barVal
})

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',
      }
    ...

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>

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!

Stellungnahme:
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