我想知道是否有义务声明我的应用程序在app.js中的所有商店/模型/视图?我之所以这样说,是因为我测试了以下情况:在app.js中声明控制器,然后尝试在相应的controller.js中设置所需的存储/模型/视图,但不起作用[undefined store ......]! 在我的例子中,我在这样的模块中构建应用程序:
app.js
Sales
-- salesController.js
-- salesStore.js
-- salesModel.js
-- salesView_1.js
Account
-- accountController.js
-- accountStore.js
-- accountModel.js
-- accountView_1.js
-- accountView_2.js
and so on...
关于此的任何信息?
答案 0 :(得分:1)
根据问题所有者的说法,他已经知道如何在MVC结构中定义应用程序。 重点是:为什么控制器中的Ext.require
不起作用,对吧?
有一些关于controllers,stores,models,views
中app.js
的明确定义的说明:
这意味着在加载应用程序之前和之后,所有这些必要的东西都是启动。但Ext.require
没有,因为它是为异步方式设计的。例如,假设在您的控制器中(您需要所有其他东西:模型,视图,商店),您跳转到使用商店的视图,该商店由类定义,而不是任何已启动实例,因此未定义。
不久之后,在app.js
中声明所有必需内容的正式方法可确保您在需要时拥有一个实例(控制器/存储/模型/视图)。但是Ext.require
支持您的类代码,而不是实例初始化。