Ionic 3 Ленивая загрузка - PullRequest
       17

Ionic 3 Ленивая загрузка

0 голосов
/ 13 ноября 2018

Я работаю над приложением Ionic.Он основан на коде, который я написал в прошлом году с использованием Ionic 2. С тех пор я модернизировал свой ноутбук и снова прошел обычную процедуру установки всех своих вкусностей, включая переход к самым последним версиям Ionic 3 и Cordova.Я изуродовал свое приложение, тестируя его, используя $ ionic serve -c и devApp.Казалось, что все работало нормально, пока я не начал собирать его для Android.Затем выясняется, что существует целый ряд проблем, которые, как я вижу, связаны с отложенной загрузкой.

По сути, мой начальный код (Ionic 2) содержал множество:

  import { DeviceviewPage } from '../pages/deviceview/deviceview';


  declarations: [ 
      DeviceviewPage,
     ...


  entryComponents: [
      DeviceviewPage,

объявлений страниц типа в app.module.ts.Однако каждая страница, которую я автоматически сгенерировал с помощью Ionic, создала pageModule.ts;Пара page.ts ориентирована на ленивую загрузку.Так что, застряв между методологиями, я отключился и начал ленивую загрузку в Google, чтобы получить все в этом формате.После чего стало ясно, что Ionic Lazy Loading непонятен в сознании большинства участников.Из сотен вопросов и ответов на форуме существует определенный разброс мнений о том, как это должно работать.

Некоторые настаивают на том, что вы должны ссылаться на свои отдельные модули в своем app.module.ts.

import { DeviceviewPageModule } from '../pages/deviceview/deviceview.module';

и удалите все ссылки на DeviceviewPage.ts.

Я сделал это для нескольких страниц, и казалось, что они зависли вместе.Но колеса отвалились, когда я добрался до страницы, на которой был еще один ленивый загруженный компонент.когда я попробовал подход, описанный выше, он получил следующую ошибку:

    Can't bind to 'data' since it isn't a known property of 'myComponent'.
1. If 'myComponent' is an Angular component and it has 'data' input, then verify that it is part of this module.
2. If 'myComponent' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message.
3. To allow any property add 'NO_ERRORS_SCHEMA' to the '@NgModule.schemas' of this component. ("

При просмотре ленивой загрузки немного больше, кажется, что требуется немного больше, чем указано выше, и что совет форума былпросто ошибиться.

Следующий отличный ресурс:

https://github.com/learn-ionic/ionic3-lazy-loading-example

выглядит так, как будто он заслуживает доверия.Но поскольку для приведения моего кода в соответствие с используемыми методами потребуется довольно существенный взлом, я подумал, что было бы целесообразно призвать мощь стека, чтобы дать ему печать одобрения, прежде чем тратить кучу времени (толькочтобы найти, что у кого-то есть лучший способ сделать это, что я должен учиться!)

Я надеюсь, что этот вопрос, и более того, ответы полезны для других, делающих переход от Ionic 2 -> ionic 3, особеннотакие как я, которые знают, почти не имеют навыков программирования.

...