2017-04-19 8 views
2

ランダムサーベイIDで複数のアンケートを作成するアプリがあります。 idsはバックエンドで生成されるため、コントローラに設定されます。私はそれについてのドキュメントを読んでいますが、私は実際にページ/サーベイ/:surveryIDに到達するためにrouteparamsを設定する方法を本当に理解していません。 surveyId:angularJSコントローラ内のルートパラメータを設定

<div> 
    <md-button ng-click="go()">Enter Survey</md-button> 
    </div> 

ここに私のコードは、これまでです:

アプリの設定:

... 
.when('/survey/:surveyId', { 
     templateUrl: 'views/survey.html', 
     controller: 'SurveyCtrl', 
     controllerAs: 'survey' 
     }) 

コントローラー:/アンケート/へのリンクを

function SurveyCtrl($scope, RequestService, _, $location, $routeParams) { 

    $scope.go = function() { 
    $location.path('/#/survey/' + Math.random()); 
    }; 
} 

見ます

私はこれが正しいとは限りませんそれはうまく動作しません。誰かがこれらのパラメータを動的に作成してコントローラに設定する方法を教えて、ボタンでリンクにアクセスしてクリックするとsurvey /:surveyIdページにアクセスできますか?

+1

あなたはこれを試していました? '$ location.path( '/ survey /' + Math.random());' – DilumN

+0

@DilumNありがとうございます!しかし、それよりもコントローラのルートパラメータを割り当てるための良い方法はありませんか? – threxx

答えて

2

あなたの仕事を成し遂げるために、

$location.path('/survey/' + Math.random()); 

あなたは

$location.path('/myURL/').search({param: 'value'}); 

$場所方法はチェーン可能です、同様のparamsを渡すために、検索方法を使用することができます。

この農産物:

/myURL/?param=value 
関連する問題