javascript – Extjs4 mvc设计思路

前端之家收集整理的这篇文章主要介绍了javascript – Extjs4 mvc设计思路前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我还在学习Extjs和mvc所以我有一个设计问题,我相信有人可以为我解答.我的问题是:

我有2个控制器可以处理两个不同的视图.调用两个控制器中的任何一个以基于用户类型呈现正确的视图.所以在我的情况下,如果用户管理员,那么他们将获得基于凭证的管理员视图,如果该人是标准用户,那么他们将获得标准视图.决策逻辑应该放在app.js中还是应该有另一个控制器决定调用哪个控制器?

我想的一种方式:

管理员控制器

Ext.define('adminController',{

      // handles admin 
})

标准用户控制器

Ext.define('standardController',{

      // handles standard 
})

App.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
   }
})
最佳答案
我不会在前端做这(或者至少太多)这个.我想你应该能够在用户登录时知道用户角色.

对我来说,我这样做,但我必须说我有一个更复杂的ACL,我不会打扰用户使用模块或视图,后端将拒绝任何访问.

我正在使用这两种方法

>成功登录后重新加载/重定向到应用程序视图(后端!).服务器知道用户会话要回传的内容
>成功登录后返回配置包含下一步要求的信息(这可能只是一个控制器或更多的类)

这两种方法都可以减少代码,加快加载速度并简化调试

我希望这能指出你正确的方向.

猜你在找的JavaScript相关文章