无法设置离子输入值

时间:2018-01-30 11:24:41

标签: angular ionic-framework

我正在创建一个从值发送到服务器的离子应用程序。我想从控制器填充文本字段值。但是,虽然我在控制器中获取值,但我无法在文本字段中显示值。

我的HTML区域是:

<ion-item>
              <ion-label><ion-icon name="book"></ion-icon></ion-label>
              <ion-input [(ngModel)]="collegename" placeholder="College name" type="text" value="{{selectedcollegename}}"></ion-input>
            </ion-item>

角度代码:

export class MessagePage {
  name: string; 
  id: string; 
  collegename: string = '';
  description: string = '';
  loading: any;
  selectedcollegename: string='';
  selectedcollegeid: string='';
  constructor(private alertCtrl: AlertController,public navCtrl: NavController, public navParams: NavParams,public apiService: ApiServiceProvider, public authService: Auth,public loadingCtrl: LoadingController) {
    this.name = navParams.get('name');
    this.id = navParams.get('id');
  }

  ionViewDidLoad() {
    this.selectedcollegename = this.name;
    this.selectedcollegeid = this.id;
    console.log("selectedcollegename name is "+this.selectedcollegename);
    console.log("selectedcollege id is "+this.selectedcollegeid);
  }
}

控制台错误:

enter image description here

我更新了代码

改变了

ngOnInit() {
    this.selectedcollegename = this.name;
    this.selectedcollegeid = this.id;
    console.log("selectedcollegename name is "+this.selectedcollegename);
    console.log("selectedcollege id is "+this.selectedcollegeid);
  }

现在我没有得到任何错误,但在tex字段中没有显示任何值。

更新

我删除了 [(ngModel)] 现在它可以工作..但我需要ngmodel那里..我错过了什么?

2 个答案:

答案 0 :(得分:0)

不要使用value属性,只需使用[(ngModel)] =“selectedcollegename”,您不需要在构造函数中设置id和name,然后再次在ngOnInit中设置。只需在构造函数中设置selectedcollegename和selectedcollegeid。

另一件事。当您需要绑定属性中组件的任何值时,必须使用带有方括号的属性,如下所示:

<input type="checkbox" [checked]="isChecked" />

答案 1 :(得分:0)

修改您的HTML

<ion-item>
<ion-label><ion-icon name="book"></ion-icon></ion-label>
<ion-input [(ngModel)]="collegename" placeholder="College name" type="text"></ion-input>

在构造函数中

constructor(private alertCtrl: AlertController,public navCtrl: NavController, public navParams: NavParams,public apiService: ApiServiceProvider, public authService: Auth,public loadingCtrl: LoadingController) {
this.name = navParams.get('name');
this.collegename = navParams.get('name');
 this.id = navParams.get('id');
  }