Heim >Web-Frontend >js-Tutorial >Wie übergeben Sie mit ui-sref Parameter an Zustände im UI-Router?

Wie übergeben Sie mit ui-sref Parameter an Zustände im UI-Router?

Susan Sarandon
Susan SarandonOriginal
2024-11-09 00:22:011071Durchsuche

How Do You Pass Parameters to States in UI-Router with ui-sref?

Parameterübergabe im UI-Router mit ui-sref verstehen

Im UI-Router erfordert die Übergabe von Parametern an einen Status beim Übergang über ui-sref eine spezielle Konfiguration. Schauen wir uns die Schritte genauer an:

1. Definieren Sie URL-Parameter:

Definieren Sie die erwarteten URL-Parameter in der URL-Eigenschaft des Staates. Die Syntax lautet:paramName? Dabei ist paramName der Parameter, den Sie erhalten möchten. Zum Beispiel:

.state('home', {
  url: '/:foo?bar',

2. Weisen Sie ui-sref Parameterwerte zu:

Übergeben Sie Parameterwerte als Objekt in geschweiften Klammern an ui-sref. Die Syntax lautet ui-sref="stateName({paramName: 'value', ...})". Beispiel:

<a ui-sref="home({foo: 'fooVal', bar: 'barVal'})">Go to home with foo and bar parameters</a>

3. Verwenden Sie $stateParams im Controller:

Fügen Sie im Controller für den Zielstatus $stateParams ein, das die übergebenen Parameter enthält. Rufen Sie die Werte mit $stateParams.paramName ab. Beispiel:

app.controller('SomeController', function($scope, $stateParams) {
  var foo = $stateParams.foo;
  var bar = $stateParams.bar;
})

4. Übergabe von Nicht-URL-Parametern:

Zusätzlich zu den Parametern in der URL können Sie zusätzliche Parameter in der Parameterkonfiguration des Staates definieren. Dadurch können Sie Parameter übergeben, die nicht Teil der URL sind. Beispiel:

.state('home', {
  url: '/:foo?bar',
  params: {
    foo: { value: 'defaultValue', squash: false, },
    hiddenParam: 'YES'
  }

In params definierte Parameter können mit $state.go() oder ui-sref übergeben werden. Sie werden nicht in die URL aufgenommen.

5. Array-Parameter:

Sie können Parameter auch als Arrays deklarieren, indem Sie array: true in der Parameterkonfiguration festlegen. Beispiel:

params: {
  bar: { array: true, }
}

Denken Sie daran, beim Übergeben von Array-Werten eckige Klammern zu verwenden:

<a ui-sref="home({foo: 'fooVal1', bar: ['barVal1', 'barVal2']})">...</a>

Das obige ist der detaillierte Inhalt vonWie übergeben Sie mit ui-sref Parameter an Zustände im UI-Router?. 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