0

는 내 URL이 ID 예를 도시하지 : /answer/1 or /answer/2 or /answer/3 등 임 혼란 임 내가 초보자 사용 UI 라우터 AngularJS와이야 라우터 UI를 사용하기 때문에 . 너 나 좀 도와 줄 수있어? 어떻게해야합니까? 감사합니다각도 UI 라우터의 ID와 URL을 부여 내가 문제가

내 라우팅 코드 :

.state({ 
    name: 'answer', 
    url : '/answer/', 
    params : { 
       obj : null 
    }, 
    controller: 'answer-controller', 
    templateUrl: 'templates/table-answer.html' 
}) 

테이블 대답으로 이동 NG 클릭 : 대답-controller.js을에

<button type="button" class="btn btn-default" ng-click="ListAnswer(data.item)"><i class="fa fa-eye"></i> View Answer</button> 

패스 PARAMS $ scope.ListAnswer

$scope.ListAnswer = function(data) { 

    $state.go('answer', {obj : data}); 

}; 
약간 변경

답변

3

매우 간단합니다. 한 가지만 놓쳤습니다. 그렇지 않으면 코드가 옳습니다.

.state({ 
    name: 'answer', 
    url : '/answer/{answerId}', 
    params : { 
    obj : null 
    }, 
    controller: 'answer-controller', 
    templateUrl: 'templates/table-answer.html' 
}) 

이제이 상태를 넘어갈 두 가지 방법이 있습니다.

// html로

<button type="button" class="btn btn-default" ng-click="ListAnswer(data.answerId)"><i class="fa fa-eye"></i> View Answer</button> 

// 컨트롤러

$scope.ListAnswer = function(answerId) { 
    $state.go('answer', {answerId: answerId}); 
}; 

또는 답변에 대한

<button type="button" class="btn btn-default" ui-sref="answer({answerId: data.answerId})"><i class="fa fa-eye"></i> View Answer</button> 
+0

{obj : data} -> 응답을 answer.controller.js에 보내고 사용했습니다. {obj : answerID } 내 응답 데이터를 사용하거나 데이터 및 answerID를 사용해야하는 방법 – userpr

+0

{obj : data}가 매우 중요하기 때문에 – userpr

+0

{obj : data} 및 {obj : data.answerId} – userpr

1

귀하의 상태 요구 사항 :

.state({ 
    name: 'answer', 
    url : '/answer/{itemId}', 
    params : { 
    obj : null 
    }, 
    controller: 'answer-controller', 
    templateUrl: 'templates/table-answer.html' 
}) 
약간 코드를 변경

링크의 URL의 ID를 함께 전달하는 :

<button type="button" class="btn btn-default" 
    ui-sref="answer({itemId: id})"> 

는 그러나 컨트롤러에서 매개 변수에 액세스하려면, 이 경우 stateParams를 $ stateParams.itemId로 사용해야합니다.

+0

감사 할 수 있지만, UI-SREF주고 하나 이상의 PARAMS? – userpr

+0

예, ui-sref에 둘 이상의 매개 변수를 전달할 수 있습니다. 예를 들면 다음과 같습니다 : –