Ну, я создаю БД в SQLite, используя ионную среду.Мой вопрос, как я могу получить параметр nav?
Вот моя главная страница:
Вот это HTML:
<ion-content nopadding>
<ion-list>
<ion-item-sliding *ngFor="let processo of processos; let i = index">
<button ion-item (click)="editarProcesso(processo.id)">
<p>{{ processo.id }}</p>
<h2> {{ processo.processoNumero}} </h2>
<p>{{ processo.data }} {{ processo.horaInicio }}</p>
</button>
<ion-item-options side="left">
<button ion-button color="danger" (click)="removeProcesso(processo)"><ion-icon name="trash"></ion-icon></button>
</ion-item-options>
Вот тс
editarProcesso(id){
this.navCtrl.push(HomePage, {
id : id
});return console.log('id: ',id);}
Вот провайдер
public getcamposProcesso(id: number) {
return this.dbProvider.getDB()
.then((db: SQLiteObject) => {
let sql = 'Select * From Processos WHERE id = ?';
let data = [id];
return db.executeSql(sql, data)
.then((data: any) => {
if (data.rows.length > 0) {
let item = data.rows.item(0);
let processo = new Processos();
processo.tribunalDaExecucao = item.tribunalDaExecucao;
processo.tribunalDeprecado = item.tribunalDeprecado;
processo.processoNumero = item.processoNumero;
processo.oficioNumero = item.oficioNumero;
processo.data = item.data;
processo.horaInicio = item.horaInicio;
processo.horaFim = item.horaFim;
processo.local = item.local;
processo.aeDesignado = item.aeDesignado;
processo.aeDiligencia = item.aeDiligencia;
processo.dividaExequenda = item.dividaExequenda;
processo.despesasProvaveis = item.despesasProvaveis;
processo.depositario = item.depositario;
processo.localDeposito = item.localDeposito;
return processo;
}
return null;
})
.catch((e) => console.error(e));
})
.catch((e) => console.error(e));
}
Тем не менее вот так попробуйте получить мой параметр:
constructor(
public navCtrl: NavController,
public navParams: NavParams,
private platform: Platform,
private sqlite: SQLite,
private dbProvider: DatabaseProvider,
private processoProvider : ProcessosProvider,
private toast: Toast,
private toastController: ToastController) {
this.model = new Processos();
if (this.navParams.data.id){
this.processoProvider.getcamposProcesso(this.navParams.data.id)
.then((result : any) =>{
this.model = result;
return console.log(this.navParams.data.id);
}).catch((e) => console.log('Erro ao carregar os campos', e))
}
}
Вот меню журнала консоли, когда я щелкаю по элементу ion с данными в нем, результат id - это сценарий под HTML, а null - последний скрипт, где я показываю, как получить свой параметр.
Заранее спасибо!