Ионное мобильное приложение работает нормально на разработке, но не на производстве - PullRequest
0 голосов
/ 17 октября 2018

Я занимаюсь разработкой своего первого ионного приложения.Я закончил его, и он отлично работает, когда я делаю

ionic serve --open

или когда я открываю его на Ionic DevApp на моем мобильном устройстве.

Когда я создаю .apk, почти все функцииработает отлично;но это не так:

<ion-tab [root]="tab1Root" [enabled]="  _tabs.textToEnableTabs !='AddListPage' " tabTitle="Pending Tasks" tabIcon="home"></ion-tab>
<ion-tab [root]="tab2Root" [enabled]="  _tabs.textToEnableTabs !='AddListPage' " tabTitle="Finished Tasks" tabIcon="information-circle"></ion-tab>
<ion-tab [root]="tab3Root" [enabled]="  _tabs.textToEnableTabs !='AddListPage' " tabTitle="Contact Author" tabIcon="contacts">      </ion-tab>

Этот код проверяет, находимся ли мы на определенном компоненте или нет, поэтому в случае, если мы находимся на этом компоненте, мы делаем вкладки не активируемыми.

КакЯ сказал, что эта функциональность отлично работает при разработке, а не на производстве, где вкладки ВСЕГДА кликабельны.Таким образом, тег [enabled] или условие не работает нормально.Я не знаю.

В чем может быть проблема?

Если вам это поможет, у меня есть сервис ShowTabsService, где я создаю это свойство

//ShowTabsService.ts

textToEnableTabs

ИЯ инициализирую на конструкторе:

"ShowTabsService.ts constructor

constructor()
{
    this.textToEnableTabs=""; /*value will change on the addList.ts constructor and on its onDestroy, to make tabs available again*/
}

Когда я нахожусь на конструкторе AddListPage, где вкладки не должны быть кликабельными, я делаю:

//AddListPage.ts

constructor(
    private _viewController:ViewController,
    private _tabs:ShowTabsService) {

       this._tabs.textToEnableTabs=this._viewController.name; //this will be 'AddListPage' when we are on that component

}

И на ngOnInit, когда мыоставив этот компонент, мы сделаем вкладки кликабельными снова, выполнив:

//AddListPage.ts

ngOnDestroy()
{
    this._tabs.textToEnableTabs="";
}

Может быть, это не лучший способ сделать это (я новичок в Angular и Ionic), но, как я уже сказал, это работает прямо наразвитие.Не при установке подписанного APK

1 Ответ

0 голосов
/ 17 октября 2018

Кто-то предложил мне решение здесь

Проблема была в этой части кода:

<ion-tab [root]="tab1Root" [enabled]="  _tabs.textToEnableTabs !='AddListPage' " tabTitle="Pending Tasks" tabIcon="home"></ion-tab>

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

Предлагаю прочитать эту тему на ионном форуме

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...