Maison > interface Web > js tutoriel > le corps du texte

Comment puis-je transmettre des paramètres aux contrôleurs à l'aide de ui-sref dans ui-router ?

Susan Sarandon
Libérer: 2024-11-06 18:56:02
original
572 Les gens l'ont consulté

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

Passer des paramètres aux contrôleurs à l'aide de ui-sref dans ui-router

Dans ui-router, utiliser ui-sref pour passer à un état permet de transmettre des paramètres au contrôleur. Pour clarifier, vous pouvez envoyer et recevoir deux paramètres, "foo" et "bar", vers un état cible.

Définition de l'état

Mettre à jour la définition de l'état pour accepter paramètres dans l'URL :

  $stateProvider
    .state('home', {
      url: '/:foo?bar',
      views: {
        '': {
          templateUrl: 'tpl.home.html',
          controller: 'MainRootCtrl'
        }
      }
    });
Copier après la connexion

Consommation du contrôleur

Dans le contrôleur, récupérez les paramètres de $stateParams :

  .controller('MainRootCtrl', function($scope, $state, $stateParams) {
    //..
    var foo = $stateParams.foo; //getting fooVal
    var bar = $stateParams.bar; //getting barVal
    //..
  })
Copier après la connexion

Génération de liens

Pour transmettre les paramètres, utilisez cette syntaxe :

<a ui-sref="home({foo: 'fooVal', bar: 'barVal'})">
Copier après la connexion

Cela passera à l'état « accueil » avec les paramètres foo et bar spécifiés, qui peuvent ensuite accessible dans le contrôleur via $stateParams.

Personnalisation des paramètres (facultatif)

Avec la propriété "params" dans la définition de l'état, vous pouvez configurer davantage le comportement des paramètres :

  $stateProvider
    .state('other', {
      url: '/other/:foo?bar',
      params: {
        foo: {
          value: 'defaultValue',
          squash: false,
        },
        bar: {
          array: true,
        },
        hiddenParam: 'YES',
        // (not in URL)
      }
    });
Copier après la connexion

Les paramètres des paramètres incluent :

  • valeur : valeur par défaut
  • tableau : traiter la valeur du paramètre comme un tableau
  • squash : contrôle par défaut représentation de la valeur dans l'URL

Injection de paramètres

L'injection des paramètres du contrôleur se fait via $stateParams. Vous pouvez récupérer des valeurs avec :

var paramValue = $stateParams.paramName;
Copier après la connexion

C'est ainsi que UI-router permet le passage de paramètres entre les états à l'aide de ui-sref pour des transitions d'état faciles et l'accessibilité des paramètres dans le contrôleur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!