我想在登录后要求所有文件。在我的 controller 中,我有 views:[...views...]
、stores: [...stores...]
和模型:[...模型...]
。
我的期望是,如果我 Ext.syncRequire('MyApp.controller.MyController');
它会加载 View 、存储和 models 也在该 Controller 内,但我的控制台显示它正在同步加载 View 、存储和模型。
如果我输入 Ext.syncRequire([controller, views, stores, models]);
我不会再收到警告消息。
我的问题是,如何才能只加载 Controller (同步),同时加载 Controller 中指定的所有内容(指定的商店、模型、 View )?
最佳答案
这只会发生在 requires
数组中定义的依赖项,因为这是加载程序唯一知道的。
views
、models
和 stores
仅由应用程序类处理,即由使用应用程序实例调用的 Controller 处理。如果您自己需要一个 Controller ,则无法解决这些自定义依赖项。
这是一种实现方式:
- 获取“完成加载”回调以从类管理器中获取 Controller 配置。
- 从 views、stores 和 models 数组构建一个新的需求列表。
- 加载它并在此请求的完成加载回调中创建 Controller 实例。
关于extjs - Ext.syncRequire() 递归加载文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20122079/