Я работаю над приложением 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, особеннотакие как я, которые знают, почти не имеют навыков программирования.