Angularjs 使用$event.target.value进行Ionic2和Angular2数据绑定

Angularjs 使用$event.target.value进行Ionic2和Angular2数据绑定,angularjs,angular,ionic-framework,ionic2,Angularjs,Angular,Ionic Framework,Ionic2,我有一个要求,打开一个输入框点击模式。Modal包含带有搜索栏的国家列表,打开Modal后,它将搜索从输入中选取的文本,并显示过滤后的列表。现在用户可以搜索不同的国家并从过滤列表中选择,模式关闭,值添加到输入字段。在代码中 openCountryPickerModal($event) { let modal = this.modalCtrl.create(CountryCodePickerComponent, {"searchValue":$event.target.val

我有一个要求,打开一个输入框点击模式。Modal包含带有搜索栏的国家列表,打开Modal后,它将搜索从输入中选取的文本,并显示过滤后的列表。现在用户可以搜索不同的国家并从过滤列表中选择,模式关闭,值添加到输入字段。在代码中

 openCountryPickerModal($event) {
          let modal = this.modalCtrl.create(CountryCodePickerComponent, {"searchValue":$event.target.value});

          modal.onDidDismiss(data => {
              if(data){
                 $event.target.value=data.countrySelected;
                 // Here: the value set to $event.target.value is not updating to input box's model emergencyContactInfo.currentPersonalAddress.country 
              }
          });          
          modal.present();
    }
和在模板中

<ion-input  (click)="openCountryPickerModal($event)"  [(ngModel)]="emergencyContactInfo.currentPersonalAddress.country"  type="text" placeholder="Country" readonly></ion-input>

现在的问题是,虽然UI中的值似乎已更改,但从未将值更新到模型。有什么特别的原因吗


我尝试了很多方法来解决这个问题,但没有任何效果,如果有帮助的话,我非常感谢。

我建议您使用Hi-Suraj,modal中也使用了同样的方法,当modal打开时,它的标题中有一个搜索栏,用于筛选列表。如果单击项,则会使用modal.ondiddisease(数据)方法将值重新调整为表单,然后提取该方法并将其设置为目标输入框。既然已经创建了双向绑定,为什么还要使用
$event
?只需使用
this.emergencyContactInfo.currentPersonalAddress.country
即可防止混淆您的
opencountryPickerModel
将不会被调用。它需要两个参数。什么是
搜索
?您还有
readonly
。@Ivaro18我创建了一个小部件,这个小部件将以单一形式在许多地方使用,也可以以其他形式使用。因此,我无法使用将值设置为模型,因为其他输入将具有不同的medeli建议您使用Hi-Suraj,在modal中也使用了相同的值,当modal打开时,它在标题中有搜索栏过滤列表。如果单击项,则会使用modal.ondiddisease(数据)方法将值重新调整为表单,然后提取该方法并将其设置为目标输入框。既然已经创建了双向绑定,为什么还要使用
$event
?只需使用
this.emergencyContactInfo.currentPersonalAddress.country
即可防止混淆您的
opencountryPickerModel
将不会被调用。它需要两个参数。什么是
搜索
?您还有
readonly
。@Ivaro18我创建了一个小部件,这个小部件将以单一形式在许多地方使用,也可以以其他形式使用。因此,我不能使用设置值的模式,因为其他输入将有不同的模式