我正在创建一个从值发送到服务器的离子应用程序。我想从控制器填充文本字段值。但是,虽然我在控制器中获取值,但我无法在文本字段中显示值。
我的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);
}
}
控制台错误:
我更新了代码:
改变了
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那里..我错过了什么?
答案 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');
}