2017-12-04 7 views
1

私はadvSrch画面/状態に戻ってくる「戻る」オプションを作成しました。私が戻ってくる場合はtrueとloadSearchQueryを渡します。

$scope.back = function() { 
    $state.go('advSrch', { isDeleted: false, loadSearchQuery: true }); 
    }; 

ただし、私のアプリでは常にデフォルトを使用しています。

}).state("advSrch",{url:"/advSrch", 
    templateUrl: "app/search/advSearch.html", 
    controller: "searchCtl", 
    params: { isDeleted: null, loadSearchQuery: null }, 
    data: { authorizedRoles: ['USR']} 

私がconsole.logに戻ると、loadSearchQueryは常にnullです。私は何か間違っているのですか?

答えて

0

loadSearchQuery$stateParamsから取得しようとしていることを確認してください。

angular.module('app').controller('searchCtl', ['$scope', '$state', '$stateParams', 
    function ($scope, $state, $stateParams) { 

     // Log param 
     console.log($stateParams.loadSearchQuery); 

     // ... 
    } 
]); 

編集:答えでjackthed状態として、$stateParamsの使用はUI-ルータのバージョン1から廃止されて、代わりに$transition$を使用することができます。例えば:

angular.module('app').controller('searchCtl', ['$scope', '$transition$', 
    function ($scope, $transition$) { 

     // Log param 
     console.log($transition$.params().loadSearchQuery); 

     // ... 
    } 
]); 
+0

はconsole.log($ state.current.paramsを)。それは間違っていますか? – hellomate

+0

'$ stateParams' [here](https://github.com/angular-ui/ui-router/wiki/URL-Routing#stateparams-service)の詳細を読むことができます。前に '$ state.current.params'を使用していません。あなたがそのように働くかどうか確認してください。 – lzagkaretos

+0

あなたのバージョンは正常に動作します。ありがとうございました! – hellomate

1

$ stateParamsプロパティすでに$遷移の$ .paramsを使用して、現在のトランジションのパラメータを取得し $遷移$を使用して取得することをお勧め1.0からのバージョンでは、非推奨()。

詳細on this link私が使用している

関連する問題