2

次のような状態定義があります。

 $stateProvider.state('password', {
    url: '/password',
    templateUrl: 'password.html',
    controller: 'PasswordController',
    controllerAs: 'ctrl',
    params: {
        accountNumber: {
            value: null,
            squash: true
        }
    },               
});

hrefディレクティブを使用するのではなく、この状態を参照する必要があります。href 内ui-serifで設定するにはどうすればよいparams.accountNumberですか?

これは機能しません:

$state.href('password', {accountNumber: $scope.accountNumber})

この行url: '/password',を「url: '/password?acoutNumber」に変更し、この部分を削除すると

params: {
    accountNumber: {
        value: null,
        squash: true
    }
}, 

$state.hrefうまく動作します。

4

1 に答える 1

3

$state.hrefパラメータを使用して URL を生成し、渡すことができるようにするには...

  • そのようなパラメータはurl定義の一部でなければなりません
  • だけで宣言するとparams: {}、hrefが発生します-それを含まず、渡しませ

調整された状態定義があります。

  .state('password', {
    url: '/password/:accountNumber',
    templateUrl: 'password.html',
    controller: 'PasswordController',
    controllerAs: 'ctrl',
    params: {
        accountNumber: {
            value: null,
            squash: true
        },
      },               
  });

作業中のプランカーがあります

タイプミスに関連する元の部分

呼び出しは$state.href()問題ないようです...状態の定義が間違っている可能性があります:

$stateProvider.state('password', {
    //Url: '/password',
    url: '/password',
    ...

url設定では大文字と小文字が区別されます。ここでstate.hrefドキュメントを参照してください:

href(状態または名前、パラメーター、オプション)

于 2016-08-29T08:47:04.003 に答える