ホームページ >ウェブフロントエンド >jsチュートリアル >UI-Router でコントローラーにパラメーターを渡すにはどうすればよいですか?

UI-Router でコントローラーにパラメーターを渡すにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-08 08:56:02838ブラウズ

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

UI-Router でコントローラーにパラメータを渡す

UI-Router では、ui-sref ディレクティブを利用して状態と状態の間を移動できます。パラメーターをコントローラーに渡します。これを実現するには、次の手順に従います。

状態設定のパラメータを定義します。

URL の一部として予期されるパラメータを含むように状態定義を変更します。

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

のパラメータにアクセスしますコントローラー:

コントローラーでは、$stateParams サービスを介して渡されたパラメーターにアクセスできます。 $stateParam の代わりに $stateParams を使用していることを確認してください。

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

例:

次の状態定義を考えてみましょう。

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

この例ではこの場合、次を使用してパラメータをホーム状態に渡すことができます。 UI-SREF:

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

params を使用した追加オプション:

状態定義の params オブジェクトを使用して、次のようなカスタマイズされたパラメーターを構成できます:

  • value: デフォルト値を指定します。
  • array: パラメータをarray.
  • squash: URL でのデフォルト値の表現方法を制御します。

結論:

次の手順に従うことで、次のことができます。 ui-sref を使用して UI-Router のコントローラーにパラメーターを正常に渡し、$stateParams.

を使用してパラメーターにアクセスします。

以上がUI-Router でコントローラーにパラメーターを渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。