2017-04-19 64 views
2

我有一個應用程序,它使用隨機調查ID創建幾個調查。由於ID在後端生成,因此它們在控制器中設置。我閱讀了關於該文檔的文檔,但是我不太瞭解如何設置routeparams以便始終訪問頁面/ survey /:surveryID。angularJS在控制器中設置路由參數

這裏是我到目前爲止的代碼:

應用程序配置:

... 
.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()); 
    }; 
} 

查看與鏈接到/調查/:surveyId:

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

我知道這不是正確的方式,它甚至不工作。有人可以告訴我如何動態創建這些參數並將其設置在控制器中,以便我可以通過按鈕訪問該鏈接,然後在單擊時訪問survey /:surveyId頁面?

+1

你試試這個? '$ location.path('/ survey /'+ Math.random());' – DilumN

+0

@DilumN謝謝是的,這是有效的!但是,沒有更好的方法來分配控制器中的路由參數嗎? – threxx

回答

2

要完成您的工作,

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

您可以使用搜索方法傳遞PARAMS爲好,

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

$定位方法可鏈接。

此產品:

/myURL/?param=value 
相關問題