【转】EXT JS MVC开发模式

原文链接:EXT JS MVC开发模式

在app(亦即根目录)文件夹下面创建controller、model、store和view文件夹,从名称上就知道他们该放置什么代码了吧。然后创建Application.js作为我们程序的入口文件,并在mvc.html中引用Application.js文件。
目录结构
-->app(根目录)
------>controller
------>model
------>store
------>view
------>application.js(与controller等同级目录)

创建model(实体类)
在model文件夹下面,创建user.js文件
Ext.define(‘MyApp.model.User‘, {
    extend: ‘Ext.data.Model‘,
    fields: [
        { name: ‘name‘, type: ‘string‘ },
        { name: ‘age‘, type: ‘int‘ },
        { name: ‘phone‘, type: ‘string‘ }
    ]
});

创建store
虽然store不是mvc中必须的步骤,但是作为数据仓库,store起到了数据存取的作用,grid、form等展现的数据都是通过store来提供的,因此store在extjs mvc开发模式中是必不可少的
//app/store/user.js 的代码如下
Ext.define("MyApp.store.User", {
    extend: "Ext.data.Store",
    model: "MyApp.model.User",
    data: [
        { name: "Tom", age: 5, phone: "123456" },
        { name: "Jerry", age: 3, phone: "654321" }
    ]
});

创建view
为了实现列表和编辑功能,我们需要两个视图,分别是list和edit,那么view的结构如下:
app/view/user/List.js 对应我们的grid的定义,只不过将创建grid的实例改成了创建grid的扩展。
//app/view/user/List.js 代码如下:
Ext.define("MyApp.view.user.List", {
    extend: "Ext.grid.Panel",
    alias: ‘widget.userlist‘,
    store: "User",
    initComponent: function () {
        this.columns = [
            { text: ‘姓名‘, dataIndex: ‘name‘ },
            { text: ‘年龄‘, dataIndex: ‘age‘, xtype: ‘numbercolumn‘, format: ‘0‘ },
            { text: ‘电话‘, dataIndex: ‘phone‘ }
        ];
        this.callParent(arguments);
    }
});

//app/view/user/edit.js 代码如下:
Ext.define("MyApp.view.user.Edit", {
    extend: "Ext.window.Window",
    alias: "widget.useredit",
    title: "编辑用户",
    width: 300,
    height: 200,
    layout: "fit",

items: {
        xtype: "form",
        margin: 5,
        border: false,
        fieldDefaults: {
            labelAlign: ‘left‘,
            labelWidth: 60
        },
        items: [
            { xtype: "textfield", name: "name", fieldLabel: "姓名" },
            { xtype: "numberfield", name: "age", fieldLabel: "年龄" },
            { xtype: "textfield", name: "phone", fieldLabel: "电话" }
        ]
    },
    buttons: [
        { text: "保存", action: "save" }
    ]
});

主入口
Ext.application({
    name: "MyApp",
    appFolder: ‘app‘,
    controllers: ["User"],
    autoCreateViewport: true,
    launch: function () {
        // 页面加载完成之后执行

}
});
说明:
  ● name: 应用程序名称
  ● appFolder:应用程序代码的目录,用来进行动态加载代码的
  ● controllers: 应用程序使用到的控制器
  ● autoCreateViewport:是否自动创建Viewport,默认为false,我们这里设置为true,当它被设置为true的时候,应用程序会自动创建Viewport,这个Viewport的定义在我们的app/view/viewport.js 中;如果为false的时候,我们需要在launch中手动创建相应的视图。

时间: 2024-10-24 18:36:45

【转】EXT JS MVC开发模式的相关文章

Extjs MVC开发模式详解

Extjs MVC开发模式详解 在JS的开发过程中,大规模的JS脚本难以组织和维护,这一直是困扰前端开发人员的头等问题.Extjs为了解决这种问题,在Extjs 4.x版本中引入了MVC开发模式,开始将一个JS(Extjs)应用程序分割成Model-View-Controller三层,为JS应用程序的如何组织代码指明了方向,同时使得大规模JS代码变得更加易于重用和维护:这就是Extjs MVC开发模式的初衷. 在官方给出的MVC例子中,我们可以看到一个简单的列表编辑功能,这篇文章就围绕这个功能进

Extjs 6 MVC开发模式(二)

1.Extjs MVC开发模式 在JS的开发过程中,大规模的JS脚本难以组织和维护,这一直是困扰前端开发人员的头等问题.Extjs为了解决这种问题,在Extjs4.x版本中引入了MVC开发模式,开始将一个JS(Extjs)应用程序分割成Model-View-Controller三层,为JS应用程序的如何组织代码指明了方向,同时使得大规模JS代码变得更加易于重用和维护:这就是Extjs MVC开发模式的初衷. 在官方给出的MVC例子中,我们可以看到一个简单的列表编辑功能,这篇文章就围绕这个功能进行

Ext JS 6开发实例(一)

很久没写文章了,主要原因和大家差不多,都要为生活奔忙,搞了两个小项目.这两个小项目很凑巧,都可以使用Ext JS来开发,这正是练习使用Ext JS 6的好机会,自然不会错过. 很多读者可能会问,为什么不直接使用熟悉的Ext JS 4来开发,而使用结构完全改变了的Ext JS 6呢?首先,Ext JS 4的MVC模式,控制器的使用我觉得太繁琐了,不太喜欢,而6的修改为视图模型以及与视图绑定的控制器,我觉得写起代码来会挺舒服的.其次,对于组件的使 用等方面,熟悉Ext JS 4的,使用起Ext JS

Ext Js MVC系列一 环境搭建和MVC框架整体认识

因为最近项目当中需要用ext js 4做前端框架,所以就必须得学习它了.这个系列主要总结ext js MVC框架,这是ext js 4新增的开发模式,这篇文章主要从以下几点来进行总结. 1,项目目录结构2,相关css文件和js文件引用3,MVC框架整体认识 项目目录结构 Ext js 4遵循统一的目录结构,这个有点类似于ASP.NET MVC.MVC中,所有的类都放在app目录中,这个目录下有四个子目录(每个子目录代表一个命名空间),主要有controller,model,view和store.

MVC开发模式

MVC简单介绍 Java Web应用的结构一个经历了两种开发模式,分别为Model1和Model2.Model1由大量的JSP页面以及少量的JavaBean组成,页面和Java代码结合在一起无论是开发.扩展还是维护都有极大的不便,所以基于MVC开发模式的Model2应运而生. MVC是一种开发模式,它可以将我们的代码解耦,让视图代码,和我们的逻辑代码分开编写,为我们后期的维护带来了极大的便利.MVC将我们的项目结构分为三个部分视图层(View).控制层(Controller).模型层(Model

MVC开发模式的数据运行流程

对于java中经典的开发模式MVC,有一些感触!现说一下Java中数据的运行流程,由于我技术有限,有错的话欢迎提出,不喜勿喷! 我们知道在MVC开发模式,包括三部分视图层V(view).控制层C(Controller)和模型层M(model),那么在一个项目中,这三部分又是指的什么呢? 视图层:顾名思义指的是看到的界面,通常也就是我们所说的JSP页面. 控制层:指的是servlet. 模型层:除了这两部分,剩下的所有. 在这里我将用画图的形式显示一下,数据的流转方式 1.当我们在JSP页面点击一

MVC开发模式下的用户角色权限控制

前提: MVC开发模式 大概思想: 1.在MVC开发模式下,每个功能都对应着不同的控制器或操作方法名(如修改密码功能可能对应着User/changepd),把每个功能对应的控制器名和操作方法名存到数据库中,分别分配一个Id,这样,每个功能就都对应着一个Id. 2.在用户表中,每个用户都有一个用户角色(类似用户组)id 3.在角色表中,每个角色id都存放着他们自身角色所拥有的功能id的集合 然后在判断权限时,通过用户的角色Id获取相关功能id集合,然后判断当前访问的功能id是否在集合中,大致如此.

MVC 开发模式

MVC 开发模式   1.理解 在MVC模式中,应用程序被划分成了模型(Model).视图(View)和控制器(Controller)三个部分.其中,模型部分包含了应用程序的业务逻辑和业务数据:视图部分封装了应用程序的输出形式,也就是通常所说的页面或者是界面:而控制器部分负责协调模型和视图,根据用户请求来选择要调用哪个模型来处理业务,以及最终由哪个视图为用户做出应答. 注意:数据模型用来存放业务数据,比如订单信息.用户信息等:而业务逻辑模型包含应用的业务操作,比如订单的添加或者修改等. 2.MV

MVC开发模式与javaEE三层架构

1.MVC开发模式 1. M:Model,模型.JavaBean        * 完成具体的业务操作,如:查询数据库,封装对象2. V:View,视图.JSP        * 展示数据3. C:Controller,控制器.Servlet        * 获取用户的输入        * 调用模型        * 将数据交给视图进行展示 2.三层架构(软件设计架构) 1. 界面层(表示层):用户看的得界面.用户可以通过界面上的组件和服务器进行交互2. 业务逻辑层:处理业务逻辑的.3. 数