我有兩個頁面,on負責列出一些記錄,另一個負責顯示我們點擊記錄時的更多信息。在AngularJS中傳遞一個具有狀態的參數
這是我的列表中的記錄:
<ul id="myList">
<li ng-repeat="offre in offres | orderBy:'-dateCreation' | filter:{etat:'true'} | limitTo:limit">
<h4><a href="" ng-click="goTo(offre.titre,offre.codeOffre)">{{offre.titre}}</a></h4>
</li>
</ul>
當我點擊一些記錄它會調用該方法GOTO(),這是因爲以下幾點:
$scope.goTo=function(titreOffre,codeOffre){
titreOffre=titreOffre.replace(/ /g,"-");
$state.go('app.job',{titreOffre:titreOffre,codeOffre: codeOffre});
};
這是app.job
狀態:
.state('app.job', {
url : '/job/:titreOffre',
params : {
'codeOffre' : null
},
templateUrl : 'views/tmpl/job-details.html'
})
在
job-details.html
頁面
我使用,我通過了codeOffre到app.job
作爲參數,以獲取有關該記錄的數據如下:
$http.get('http://localhost:8080/offre/offres/' + codeOffre)
.then(function (response) {
return response;
}, function (error) {
return 'There was an error getting data';
});
所以這一切工作正常,唯一的問題是,當我顯示job-details.html
頁面,然後我刷新它,我通過了該codeOffre
param不再保留我傳遞給它的值並將其設置爲null。
我該如何解決這個問題?
由於param未在url中列出,因此您不能在重新加載時訪問它,除非它存儲在像回答中提到的'sessionStorage'之類的地方。其他選項是將其添加到網址。但我想你不想這樣做。 – Chinni
@Chinni是啊,那是我以爲我自己,我打算使用'job /:codeOffre /:titreOffre',感謝您的幫助 –