我还在学习 Extjs 和 mvc,所以我有一个设计问题,我相信有人可以为我解答。我的问题是:
我有 2 个控制器来处理两个不同的视图。调用两个控制器中的任何一个以根据用户类型呈现正确的视图。因此,在我的情况下,如果用户是管理员,那么他们将根据凭据获得管理员视图,如果该人是标准用户,那么他们将获得标准视图。决策逻辑应该放在 app.js 中还是应该有另一个控制器来决定调用哪个控制器?
我正在考虑的一种方式:
管理员控制器
Ext.define('adminController', {
// handles admin
})
标准用户控制器
Ext.define('standardController', {
// handles standard
})
应用程序.js
Ext.application({
name: 'MTK',
autoCreateViewport: true,
if(admin) {
controllers: ['adminController']
}
else(std){
controllers: ['standardController']
}
});
另一个想法:
管理员控制器
Ext.define('adminController', {
// handles admin
})
标准用户控制器
Ext.define('standardController', {
// handles standard
})
主控制器
Ext.define('mainController', {
if(admin){
call adminController
}
else(std){
call standardController
}
})