【发布时间】:2018-12-06 05:34:02
【问题描述】:
我正在使用联系人 API 获取联系人列表。
contacts = new Array<Object>();
public signIn() {
this.getContacts().then((res)=>{
console.log("res",res);
this.contacts =res;
})
}
这是我的html
<button (click)="signIn()">Import google contacts</button>
<div *ngFor="let contact of contacts">
{{contact}}
</div>
问题是当我第一次点击登录按钮时,html DOM 视图没有更新。但是当我第二次点击时,它的 DOM html 视图就会更新。我希望它在第一时间更新。有人可以帮忙吗?
这是我的 getContact 函数。我在里面使用jquery。
public getContacts():any {
let config = {
'client_id': 'xxxx',
'scope': 'https://www.google.com/m8/feeds'
};
return new Promise(resolve=>{
gapi.auth.authorize(config, ()=> {
$.ajax({
url: 'https://www.google.com/m8/feeds/contacts/default/full?alt=json&max-results=100',
dataType: 'jsonp',
data: gapi.auth.getToken()
}).done(function(data) {
resolve(data.feed.entry);
});
});
})
}
【问题讨论】:
-
列表是否需要一段时间后更新?在您的代码中,使用了 setTimeout()。不需要 setTimeout。
-
不,这是故意的。它不需要在超时时更新。我会删除它。
-
分享getContacts()函数代码
-
现在共享
-
问题正在编辑中。
标签: javascript html angular angular5