2016-06-08 2 views
0

AngularJS로 응용 프로그램을 작성하고 있습니다.AngularJS : 한 페이지에서 다른 페이지로 전체 개체를 클릭하여 전달하십시오.

나는 이미 각 사용자의 데이터를 동적으로 테이블을 구축해야 : 내가 함께 편집 버튼 을 추가

<div ng-controller="contactsCtrl"> <table> <thead> <tr> <th>Edit</th> <th>Name</th> <th>Address</th> <th>Telephone</th> <th>Email</th> </tr> </thead> <tbody> <tr ng-repeat="contact in contacts"> <td><div ng-click="{{contact}}"> Edit</div></td> <td>{{contact.name}}</td> <td>{{contact.adresse}}</td> <td>{{contact.phone}}</td> <td><a href="mailto:{{contact.email}}"> Email</a></td> </tr> </tbody> </table> </div> 

= {{contact.name}} 그것에 관련된를 NG 클릭 . 해당 버튼을 클릭하면 선택한 사용자의 정보가 다음 형식으로 표시되어 새 데이터를 편집하고 나중에 저장합니다.

<div ng-controller='detailsCtrl'> 
    <div class="col-md-6 col-sm-6 col-xs-6"> 
     <h2>{{contact.name}}</h2> 
     <address> 
      <p>{{contact.adresse}}</p> 
      <p>{{contact.adresse}}</p> 
      <p>{{contact.phone}}</p> 
      <p>{{contact.email}}</p> 

     </address> 
    </div> 
</div> 

어떻게 (모든 속성 이름, 요지, 전화기 수도 이메일을) 객체를 전달 않는 버튼에서 테이블 (contactsCtrl)의 형태 (DetailsCtrl)에?

나는 많은 튜토리얼을 읽고 들었지만 점점 더 혼란스러워지고있다. 제발 도와주세요

답변

0

당신은 두 컨트롤러에서 공통된 서비스를 원할 것입니다. 또는 컨트롤러간에 브로드 캐스트/방출을 할 수 있습니다. 그런 다음 ng-click = {{contact.name}} 대신 ng-click = "passContact (contact);를 수행하여 개체 전체를 전달하십시오.

및 passContact 함수에서 broadcast/emit OR 서비스를 통해 객체를 전달합니다.

코드를 얻으려면 코드로 작은 피들을 만드십시오.

관련 문제