2014-09-16 3 views
1

내 이오닉 + 각도 응용 프로그램에서 cordova.contact 플러그인을 사용하고 있습니다.이오닉 + 각도 콜백에서 입력 양식에 선택 값을 추가하지 않음

탭 온 후 양식에 아이콘이 표시됩니다. 연락처를 선택하면 콜백의 연락처 이름이 전달되고 양식을 작성하려고합니다.

양식 입력 :

<a ng-click="takeContact()" class="button button-icon icon ion-settings form_input_custom_icon"></a> 
       <label class="item item-input"> 
        <span class="input-label">Name:</span> 
        <input type="text" value="{{plannedCallForm.contactName}}" ng-model="plannedCallForm.contactName"> 
       </label> 

컨트롤러있어서

$scope.takeContact = function() { 
      navigator.contacts.pickContact(function(contact){ 
       console.log('The following contact has been selected:' + JSON.stringify(contact)); 
       $scope.plannedCallForm.contactName = contact.displayName; 
      },function(err){ 
       console.log('Error: ' + err); 
      }); 
     }; 

문제가 선택된 값 접촉을 선택한 후 양식 입력에 표시되지 않는 것이있다. 이 값을 표시하려면 메서드를 다시 호출하거나 입력을 탭해야합니다.

누군가 내게 조언을 해줄 수 있습니까?

도움 주셔서 감사합니다.

답변

1

Facebook SDK를 사용하여 동일한 문제가있었습니다. $apply을 사용하면 다음과 같이 할 수 있습니다.

$scope.takeContact = function() { 
    navigator.contacts.pickContact(function(contact){ 
     console.log('The following contact has been selected:' + JSON.stringify(contact)); 
     $scope.$apply(function(){ 
      $scope.plannedCallForm.contactName = contact.displayName; 
     }); 
    },function(err){ 
     console.log('Error: ' + err); 
    }); 
}; 
+1

감사합니다. 너는 나에게 몇 시간의 삶을 구할 수있다 .. – redrom

+0

@redrom 나는 그것이 도움이 되었기 때문에 기쁘다. –

관련 문제