2016-08-29 2 views
2

を働いていない私はこのような状態の定義があります。UI-SREFのparamsオプションは期待通り

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

を私はどのようにすることができ、そのhrefではなくui-serifディレクティブを使用して、この状態を参照する必要がありますhrefの中にparams.accountNumberを設定しますか?

これは動作しません:私は、URL `この行url: '/password',を変更すると

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

: '/パスワードaccoutNumber?'、および

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

$state.hrefだけで正常に動作し、この部分を削除してください。

+1

をあなたは '$のstate.go'を使用していないのはなぜ。必要なパラメータで状態を変更する方が良い場合は –

答えて

2

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

  • このようなパラメータには、それだけでparams: {}のhrefになります宣言url定義
  • の一部である必要があります - 含まれていない、それ

調整状態の定義があります:

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

$state.href()呼び出しはOK ...ちょうど状態の定義は可能性があるように思わ

タイプミスに関連し、a working plunker

ORIGINAL部分がありますが間違っている:

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

urlの設定では大文字と小文字が区別されます。 state.href doc hereを参照してください:

HREF(stateOrName、パラメータ、オプション)

+0

いいえ、それはタイプミスではありません。 – Rachmaninoff

+0

私は質問を編集しました... – Rachmaninoff

+1

定義がはっきりしていれば、答えを調整して、 ...少し助けてくれることを願って –

関連する問題