Где позвонить IONIC SQLLITE выбрать оператор - PullRequest
0 голосов
/ 16 апреля 2019

У меня есть функция DB, как показано ниже:

Если я хочу использовать результаты этого запроса в модуле страницы, где я могу вызвать эту функцию? Я вызываю это в конструкторе или методе жизненного цикла (ionViewDidLoad, ionViewDidEnter). Пожалуйста, порекомендуйте.

В настоящее время я называю это в конструкторе, но кажется, что это замедляет работу приложения. Я не уверен, правильно ли я поступаю

 getAddressDetails() {

 return new Promise((resolve, reject) => {

 let sql = "select * from tablename"
 this.database.executeSql(sql, []).then((data) => {

 resolve(data)}
   });
 }```

1 Ответ

0 голосов
/ 16 апреля 2019

(...) основное различие между constructor и ionViewDidLoad (...) иногда вы хотите взаимодействовать с DOM (может быть, инициализировать карту).

В этом случае, если вы попытаетесь получить доступ к DOM в constructor, вы заметит, что DOM не готов к этому моменту, и вы не будете возможность получить элемент карты. Правильный подход сделать это будет внутри ionViewDidLoad (...).

См. этот ответ.

constructor вызывается раньше всех, один раз за экземпляр страница, здесь вы можете сделать инициализацию, которая не ссылается на HTML DOM

ionViewDidLoad вызывается, когда DOM страницы был загружен, до чем страница отображается, а также один раз для каждой страницы, здесь вы можете выполнить инициализацию, для этого нужно, чтобы HTML DOM был готов

И посмотрите этот ответ.

...