Ionic2 ngModel不更新ngOnit()函数返回的值

时间:2017-08-17 15:47:12

标签: angular ionic2

我的页面上有一个文本框,我使用ngModel动态分配值。在我的组件中,我使用ngOnint()来调用设置ngmodel值的函数。当我运行我的应用程序时,值不会在文本框中更新。

<ion-input #CurrentLocation readonly [(ngModel)]="location" type="text"> 
</ion-input>

component.ts
export{
    ngOnit(){  this.getGeo()}

    location:any;

    getGeo(){
        this.geolocation.getCurrentPosition().then((resp) => {
            resp.coords.latitude
            resp.coords.longitude
            this.reversecode( resp.coords.latitude,resp.coords.longitude);
        }).catch((error) => {
            alert('Error getting location'+JSON.stringify(error));
        });}

    reversecode(lat,lon){
        let geocoder = new google.maps.Geocoder();
        var geolat=new  google.maps.LatLng(lat,lon);

        geocoder.geocode({ 'location': geolat }, (results, status) => {
            this.currentaddress=results[0].formatted_address;
            console.log("address",this.currentaddress)
            this.location=this.currentaddress;   
        });
    }
}

我在控制台上获取值,但在页面加载时不显示在文本字段中。但是一旦我点击输入字段就会显示。

1 个答案:

答案 0 :(得分:1)

看起来应该是这样的:

<!-- TYPESCRIPT -->
location = '';
ngOnInit() {
    this.location = 'HELLO, this value should show up in the ion-textarea';
}


<!-- HTML -->
<ion-textarea [(ngModel)]="location"></ion-textarea>