我正在研究地址预测指令(使用材料设计2)。这使用了Google AutocompleteService,但是当它发出预测时,使用此延迟大约10或25秒的组件会进入视图。我在组件中使用block
,这将打印数组元素,但不打印视图。为什么不记录视图?
在我的逻辑中,当用户在3秒后释放键盘时,预测请求将通过输入地址(包含指令)发送到谷歌的服务。然后,当它返回数据时,它会创建一个“预测”数组,并使用console.log()
发出。组件将其打印到控制台中,但仅在几秒钟后才显示在视图中。
@Output() onpredict
<md-input-container class="full-width">
<input type="text" mdInput addressPrediction (onpredict)="showPredictions($event);" (onsearching)="searching = true;" placeholder="Ingrese una dirección">
<md-hint align="end" *ngIf="searching">Buscando...</md-hint>
</md-input-container>
<div *ngIf="predictions.length > 0 && !searching">
<md-nav-list>
<div *ngFor="let prediction of predictions">
<md-list-item>
<h4 md-line>{{ prediction.name }} </h4>
</md-list-item>
<md-divider></md-divider>
</div>
</md-nav-list>
</div>
export class InputAddressComponent {
predictions: Prediction[] = [];
searching: boolean;
constructor(){}
showPredictions(predictions: any[]): void {
this.searching = false;
this.predictions = predictions;
console.log(this.predictions);//this show elements but the view not print after some seconds
}
}