두 페이지가 있으며 일부 레코드를 나열하고 다른 하나는 레코드를 클릭하면 자세한 정보를 표시합니다. 내가 몇 가지 기록을 클릭하면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>
는 방법 고토 (호출합니다) 다음과 같습니다 :
$scope.goTo=function(titreOffre,codeOffre){
titreOffre=titreOffre.replace(/ /g,"-");
$state.go('app.job',{titreOffre:titreOffre,codeOffre: codeOffre});
};
을 그리고 이것은 app.job
입니다
이
내가 레코드를 나열하는 방법입니다 상태 다음job-details.html
페이지
.state('app.job', {
url : '/job/:titreOffre',
params : {
'codeOffre' : null
},
templateUrl : 'views/tmpl/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로 설정됩니다.
어떻게 해결할 수 있습니까? URL에
1 패스를 :
url: '/job/:titreOffre/:codeOffer'
2. sessionStorage :
가 서비스에 getter 및 setter 메소드를 정의
param이 url에 나열되어 있지 않으므로 응답에 언급 된 'sessionStorage'와 같은 곳에 저장되어 있지 않으면 다시로드 할 때 액세스 할 수 없습니다. 다른 옵션은 URL에 추가하는 것입니다. 하지만 당신이 그렇게하고 싶지 않다고 생각합니다. – Chinni
@Chinni 그래, 내가 너 자신을 생각 했어. 나는'job/: codeOffre/: titreOffre'을 당신의 도움에 쓸 것입니다. –