Heim >Web-Frontend >js-Tutorial >Wie übergebe ich Parameter an Controller im UI-Router?

Wie übergebe ich Parameter an Controller im UI-Router?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-08 08:56:02888Durchsuche

How do I Pass Parameters to Controllers in UI-Router?

Übergabe von Parametern an Controller im UI-Router

Im UI-Router können Sie die ui-sref-Direktive verwenden, um zwischen Zuständen und zu navigieren Übergeben Sie Parameter an ihre Controller. Um dies zu erreichen, befolgen Sie diese Schritte:

Definieren Sie Parameter in der Statuskonfiguration:

Ändern Sie Ihre Statusdefinition, um die erwarteten Parameter als Teil der URL einzuschließen:

.state('home', {
  url: '/:foo?bar', // Include parameters in the URL path
  ...
});

Zugriffsparameter im Controller:

Im Controller können Sie über den $stateParams-Dienst auf die übergebenen Parameter zugreifen. Stellen Sie sicher, dass Sie $stateParams anstelle von $stateParam verwenden.

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

Beispiel:

Berücksichtigen Sie die folgende Statusdefinition:

.state('home', {
  url: '/',
  params: {
    foo: {
      value: 'fooVal',
      squash: false,
    },
  },
  ...
});

Hier In diesem Fall können Sie Parameter mithilfe von UI-SREF an den Heimatstatus übergeben:

<a ui-sref="home({foo: 'customVal'})">Go to home state</a>

Zusätzliche Optionen mithilfe von Parametern:

Sie können benutzerdefinierte Parameter mithilfe des Parameterobjekts konfigurieren in der Statusdefinition, einschließlich:

  • Wert: Geben Sie einen Standardwert an.
  • Array: Behandeln Sie den Parameter als Array.
  • Squash: Steuern Sie die Standardwerte werden in der URL dargestellt.

Fazit:

Durch Befolgen dieser Schritte können Sie Parameter mithilfe von ui-sref und erfolgreich an Controller im UI-Router übergeben Greifen Sie mit $stateParams.

darauf zu

Das obige ist der detaillierte Inhalt vonWie übergebe ich Parameter an Controller 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