我在Ionic + Angular App中使用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);
});
};
问题是选择联系人后,所选值没有出现在表单输入中。需要再次调用方法或点击输入以显示该值。
有人可以给我建议,急于解决吗?
谢谢你的帮助。
我在使用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);
});
};
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句