讲解extjs的MVC架构

2024-02-01

我使用 Javascript 创建了一个小型数独应用程序。现在我正在尝试将该 javascript 代码转换为 extjs (4.1.1a) 代码。我已经经历了docs http://docs.sencha.com/ext-js/4-1/#!/guide/application_architecture去了解MVC架构,但对我来说似乎不是那么详细,因为我是初学者。

有人可以根据我的数独应用程序解释 Extjs 的 MVC 架构吗?

我的数独应用程序代码的设计如下:

上述设计描述如下:

  • container (blue) --> parent panel (grey) --> child panel (red)

  • The "家长小组“有九个,每个”父面板“有九个”子面板".

  • HTML 元素“家长小组”和“子面板" 是通过使用 for 循环动态生成的。

  • 我写过类似的事件KeyDown事件和click活动于“子面板".

  • 我还写了一些函数,例如

    检查组()--> 检查每个“父面板”是否有重复的数字检查垂直()--> 检查“容器”的每个垂直行是否有重复的数字检查水平()--> 检查“容器”的每个水平行是否有重复的数字


EDIT: (未完成和非结构化的代码)

app.js (主js文件)

Ext.application({
     name: 'Game',
     appFolder: 'app',  
     controllers: ['Sudoku']     
});

控制器('app'文件夹-->'控制器'文件夹-->Sudoku.js)

//By using 'controller', trying to call 'view' here
Ext.define('Game.controller.Sudoku', {
    extend: 'Ext.app.Controller',

    init: function () {
        console.log("controller init");
    },
    onLaunch: function () {
        console.log("controller onLaunch");
    },
    views: ['Sudoku']
});

view('app' 文件夹 --> 'view' 文件夹 --> Sudoku.js)

Ext.define('Game.view.Sudoku', {
    extend: 'Ext.window.Window',  //what should I extend here for view?       
    initComponent: function () {
        //my complete sudoku js file here
        console.log("hello");
    }
});

根据我对你的应用程序的了解,我几乎无话可说。您有一个非常具体的视图,其中包含一些侦听器和操作,而这些侦听器和操作不应打扰控制器。

控制器将创建container作为视图,并且可以将一些配置选项传递给它,而不必过多担心其他嵌套面板。控制器还可以监听此事件container就像结束游戏或保存游戏的按钮。

MVC 并不意味着您将所有事件和逻辑中继到控制器中。

即使您认为这相当复杂,它仍然只是一种观点。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

讲解extjs的MVC架构 的相关文章

随机推荐

  • 使用 JAX-WS 构建大型 MTOM/XOP 消息

    我有一个关于将 MTOM XOP 与 JAX WS 一起使用的问题 我正在编写一个发送大量二进制数据的网络服务 客户端请求多个文件 服务器在响应中返回文件 我能够让它正确构建响应 以便它正确实现 XOP 但我遇到了与内存相关的问题 因为它存
  • 为什么同一核心(超线程)中的两个线程的 L1 写访问比两个核心的 L1 写访问最差?

    我制作了一个 c c 程序 混合了printf and std 以了解不同的缓存性能 我想并行化一个正在计算大块内存的进程 我必须在相同的内存位置上进行多次计算 因此我将结果写入到位 覆盖源数据 当第一个微积分完成后 我会用之前的结果进行另
  • VBA - 在 [范围派生] 变体数组上运行 WorksheetFunction?

    我需要在单个输入矩阵上连续运行内置 Excel 函数 问题是 输入 range 我假设是一个指针常量 所以当然 我可以做一个WorkSheetFunction的计算 range 输入并将输出放入变体中 但是 我确实需要对变体数据运行更多遍
  • 迭代文件夹和子文件夹的最佳方法

    迭代文件夹和子文件夹以获取从指定位置开始的每个文件夹中的文件大小 文件总数和文件夹总大小的最佳方法是什么 如果您使用 NET 4 您可能希望使用System IO DirectoryInfo EnumerateDirectories and
  • 尝试将数字元组转换为字符串

    我正在尝试将数字元组转换并连接成 python 上的字符串 我从 Angular 控制器收到类似的信息 data permissions 43 12 65 34 67 然后我把它发送到model py将此值连接为字符串 如下所示 value
  • 如何在 Postgres 中使用数组作为变量?

    我有这个 sql 脚本 DO DECLARE user list integer select user id from user where state ACTIVE BEGIN CREATE CREATE MATERIALIZED VI
  • 如何向 ExtJs 渲染的 html 添加 data- 属性?

    使用 ExtJs 4 1 我正在创建一个面板 例如 我希望生成的 html 包含一个或多个 data 属性 例如 data intro some text data step 1 如何才能做到这一点 组件呈现后 您可以将属性应用到表示组件的
  • Yarn 安装抛出错误:gyp 动词 `which` 失败错误:未找到:python2

    在 React 项目中 我尝试运行 yarn install 但它抛出以下错误 吉卜赛人 动词which失败错误 未找到 python2 完整错误回溯 yarn install v1 22 4 warning package lock js
  • 后台位置跟踪:iOS

    我正在尝试在苹果的重要位置更改服务和自己定期启动 停止位置管理器之间做出选择 苹果对此是这么说的 收集位置数据是一项耗电的操作 它涉及打开机载无线电并查询可用的手机信号塔 Wi Fi 热点或 GPS 卫星 这可能需要几秒钟的时间 让标准定位
  • 如何使用 AppleScript 将窗口移动到某个桌面?

    我在桌面 1 OS X Lion 上有一个应用程序 窗口 我想将其移动到桌面 3 关于如何执行此操作有什么见解吗 没什么大不了的 但如果可能的话 我想确保有 3 个且只有 3 个可用的桌面 这个答案 https stackoverflow
  • 在Python中用另一个子列表替换一个子列表

    我想替换列表中的子列表a 还有另一个子列表 像这样的事情 a 1 3 5 10 13 假设我想要一个子列表 例如 a sub 3 5 10 并将其替换为 b sub 9 7 所以最终结果将是 print a gt gt gt 1 9 7 1
  • 角度$resource删除不会将正文发送到express.js服务器

    hye 我正在服务器端使用 angular js 和 node js Express js 构建一个应用程序 由于某种原因 我在处理删除请求时遇到问题 没有人到达服务器端 这是我的 angular js 资源代码 scope deleteP
  • Rails:带有参数的 rake 任务不起作用

    这是我的耙子任务 namespace users do task change role role gt environment do t args puts args role end end 我这样称呼它 rake users chan
  • 什么是图形上下文? (iOS)

    图形上下文到底是什么 当使用 Core Graphic 绘图时 我们会获得对上下文的引用 当我查看文档时 它似乎是一个对象 负责处理正确的绘图 无论是用于打印 设备 pdf 等 谁能帮助我理解上下文到底是什么 我尝试阅读文档 但我不明白 它
  • Oracle 协议适配器错误

    你好 我刚刚在我的笔记本电脑上安装了 Oracle 10 g Express Edition 平台是Windows XP SP3 安装正常 但是 当我尝试通过 SqlPlus 连接到 Oracle 数据库时 出现 TNS 协议适配器错误 我
  • ServicePointManager.SecurityProtocol 如何工作?

    我想知道楼盘怎么样ServicePointManager SecurityProtocol当我设置三个不同的时有效SecurityProtocolType在她的旗帜上 IE ServicePointManager SecurityProto
  • 什么是“git config user.password”?

    我见过git config user password在几个 Stack Overflow 答案中推荐作为保存 git 用户凭据的方法 如何在 Git 中保存用户名和密码 https stackoverflow com a 54979082
  • ESLint 错误 no-unneed-ternary

    ESLint 在我的 JS 模块中告诉我这个错误消息 错误 no unneeded ternary 不必要地使用条件表达式进行默认赋值 错误出现在get方法上的return陈述return val val defaultVal import
  • Auth0。如何获取访问令牌中用户的权限?

    如何使用 Auth0 的核心授权功能 在第一个授权请求中 获取访问令牌中的用户权限 我需要所有权限的数组以及有关用户的其他信息 附 我已经创建了角色 权限 并将角色分配给用户 在 API 设置中的访问令牌切换和 RBAC 中启用添加权限 这
  • 讲解extjs的MVC架构

    我使用 Javascript 创建了一个小型数独应用程序 现在我正在尝试将该 javascript 代码转换为 extjs 4 1 1a 代码 我已经经历了docs http docs sencha com ext js 4 1 guide