当我启动我的应用程序时,我的计算机会加载 15 秒。它加载了一大堆我想要动态加载的网格和东西。
如果我想“按需”加载这些网格,我该怎么做?我必须动态加载控制器还是只加载网格?如何?
谢谢你。:)
当我启动我的应用程序时,我的计算机会加载 15 秒。它加载了一大堆我想要动态加载的网格和东西。
如果我想“按需”加载这些网格,我该怎么做?我必须动态加载控制器还是只加载网格?如何?
谢谢你。:)
这取决于您的应用程序结构和商店的配置。以下是您可以应用的一些调整:
从商店中删除 autoLoad 并记住,如果您不应用分页或过滤,您现在需要关心加载。为什么?您放置在控制器存储数组中的任何存储都将在控制器实例化后立即实例化,这很好,但如果 autoLoad 为真,则会导致存储的加载。根据实现,商店将再次加载,例如 pagingToolbar 将再次启动加载,因此第一个可以幸免。
应用一种延迟控制器加载。意义; 仅在开始时将该控制器应用到您需要的应用程序控制器阵列中。仅在需要时通过 this.application.getController('ControllerName')
在控制器内或直接在应用程序控制器上调用来加载任何其他控制器。这将为您提供 conrtoller 实例并初始化控制器(这是相当新的,所以我不知道什么时候会自动发生。我检查 4.1.3)。无论如何,延迟控制器初始化将推迟对这些控制器中的每一个的所有 Ext.Loader 请求,直到控制器被初始化,所以我猜这对你最有帮助。
在我看来,这些脚本好像是由 ExtJS 加载器本身加载的,我想它正在加载它认为它需要的内容,因为基于提供的设置的页面结构。
阅读加载器文档以了解它在做什么以及为什么: