//one-to-one
Ext.define('Address', {
    extend: 'Ext.data.Model',
    fields: [
        'address',
        'city',
        'state',
        'zipcode'
    ]
});

Ext.define('Employee', {
    extend: 'Ext.data.Model',
    fields: [{
        name: 'addressId',
        reference: 'Address'
    }]
});

//one-to-many
Ext.define('Department', {
    extend: 'Ext.data.Model',
    fields: [
        { name: 'employeeId', reference: 'Employee' }
    ]
});

Ext.define('Division', {
    extend: 'Ext.data.Model',
    fields: [
        { name: 'departmentId', reference: 'Department' }
    ]
});

//many-to-many
Ext.define('Employee', {
    extend: 'Ext.data.Model',
    fields: [
        { name: 'empId', type: 'int', convert: null },
        { name: 'firstName', type: 'string' },
        { name: 'lastName', type: 'string' }
    ],
    manyToMany: 'Project'
});

Ext.define('Project', {
    extend: 'Ext.data.Model',
    fields: [
        'name'
    ],
    manyToMany: 'Employee'
});

//store
var myStore = Ext.create('Ext.data.Store', {
    model: 'Employee',
    storeId: 'mystore',
    proxy: {
        type: 'rest',
        url: '/employee',
        reader: {
            type: 'json',
            rootProperty: 'data'
        }
    },
    autoLoad: true,
    autoSync: true
});

//inline data store

Ext.create('Ext.data.Store', {
    model: 'Employee',
    data: [
        {
            firstName: 'Shiva',
            lastName: 'Kumar',
            gender: 'Male',
            fulltime: true,
            phoneNumber: '123-456-7890'
        },
        {
            firstName: 'Vishwa',
            lastName: 'Anand',
            gender: 'Male',
            fulltime: true,
            phoneNumber: '123-456-7890'
        }
    ]
});

//access the store

Ext.data.StoreManager.lookup('myStore');
Ext.getStore('myStore');
var myStore = this.getViewModel().getStore('myStore')

//store in viewmodel

Ext.define('ToDo.view.toDoList.ToDoListModel', {
    extend: 'Ext.app.ViewModel',
    alias: 'viewmodel.todoList',
    stores: {
        todos: {
            fields: [ { name: 'id', type: 'string' },
                     { name: 'desc', type: 'string' }],
            autoLoad: true,
            sorters: [{
                property: 'done',
                direction: 'ASC'
            }],
            proxy: {
                type: 'rest',
                url: 'tasks',
                reader: {
                    type: 'json',
                },
                writer: {
                    type: 'json'
                }
            }
        }
    }
});

EXT.JS6中的model,store,proxy的一些用法的更多相关文章

  1. 【Ext.Net学习笔记】04:Ext.Net中使用数据、Ext.Net Store的用法、Ext.Net ComboBox用法

    之前的几篇文章都是介绍Ext.Net较为基础的东西,今天的这一篇将介绍数据的一些用法,包括XTemplate绑定数据.Store(Modal.Proxy).ComboBox的用法等. XTemplat ...

  2. Ext Store Proxy Ajax

    使用Store ajax的方式来获取数据 <div id="grid1"> </div> <script> Ext.onReady(functi ...

  3. 2017年第1贴:EXT.JS使用MVC模式时,注意如何协调MODEL, STORE,VIEW,CONTROLLER的关系

    也调了快一天,死活找不到窍门. MODEL, STORE,VIEW的调置测试了很久,试了N种方法,不得其果. 最后,试着在APPLICATION里加入CONTROLLER, 在CONTROLLER里加 ...

  4. Ext.js中自己扩展的EasyGrid

    这里只写了一些核心的代码,具体如下: Ext.ux.EasyGrid = Ext.extend(Ext.grid.GridPanel, { initComponent: function () { t ...

  5. Ext.js中的tip事件实际使用

    Ext.onReady(function () { // Init the singleton. Any tag-based quick tips will start working. Ext.ti ...

  6. Django中的Model继承

    Django 中的 model 继承和 Python 中的类继承非常相似,只不过你要选择具体的实现方式:让父 model 拥有独立的数据库:还是让父 model 只包含基本的公共信息,而这些信息只能由 ...

  7. Django 中的 model 继承

    Django 中的 model 继承和 Python 中的类继承非常相似,只不过你要选择具体的实现方式:让父 model 拥有独立的数据库:还是让父 model 只包含基本的公共信息,而这些信息只能由 ...

  8. 1、MVC和EF中的 Model First 和 Code First

    准备:先引入MVC和EF的dll包 *命令方法:打开工具——库程序包管理器——程序包管理器控制台,选择自己的项目 a)     Install-Package EntityFramework -Ver ...

  9. php目录下的ext目录中,执行的命令

    php的目录下的ext目录,如果你只需要一个基本的扩展框架的话,执行下面的命令: ./ext_skel --extname=module_name module_name是你自己可以选择的扩展模块的名 ...

随机推荐

  1. LeetCode939

    问题:最小面积矩形 给定在 xy 平面上的一组点,确定由这些点组成的矩形的最小面积,其中矩形的边平行于 x 轴和 y 轴. 如果没有任何矩形,就返回 0. 示例 1: 输入:[[1,1],[1,3], ...

  2. HDU - 1864 最大报销额 (背包)

    题意: 现有一笔经费可以报销一定额度的发票.允许报销的发票类型包括买图书(A类).文具(B类).差旅(C类),要求每张发票的总额不得超过1000元,每张发票上,单项物品的价值不得超过600元.现请你编 ...

  3. hiho 1050 树的直径

    #1050 : 树中的最长路 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 上回说到,小Ho得到了一棵二叉树玩具,这个玩具是由小球和木棍连接起来的,而在拆拼它的过程中, ...

  4. Mysql操作规范

    (1)linux下开启.关闭.重启mysql服务命令 一. 启动1.使用 service 启动:service mysql start2.使用 mysqld 脚本启动:/etc/inint.d/mys ...

  5. HTTP认证之基本认证——Basic(一)

    导航 HTTP认证之基本认证--Basic(一) HTTP认证之基本认证--Basic(二) HTTP认证之摘要认证--Digest(一) HTTP认证之摘要认证--Digest(二) 一.概述 Ba ...

  6. PHP GD库---之头像合成九宫格

    public function createMosaicGroupAvatar($pic_list = array(), $bg_w = 396, $bg_h = 396) { if (!$pic_l ...

  7. Win磁盘MBR转换为GUID

    title: Win磁盘MBR转换为GUID date: 2018-09-02 11:52:32 updated: tags: [windows,记录,折腾] description: keyword ...

  8. loj2024「JLOI / SHOI2016」侦查守卫

    too hard #include <iostream> #include <cstdio> using namespace std; int n, d, m, uu, vv, ...

  9. 缓存淘汰算法之LFU

    1. LFU类 1.1. LFU 1.1.1. 原理 LFU(Least Frequently Used)算法根据数据的历史访问频率来淘汰数据,其核心思想是“如果数据过去被访问多次,那么将来被访问的频 ...

  10. 融合RocksDB, Pregel, Foxx & Satellite Collections 怎样使数据库性能提升35%?

    经过数月的研发测评,开源多模型数据库ArangoDB 终于发布了其 3.2 正式版,该版本消除了两个重大的障碍,添加了一个期待已久的功能,还集成了一个有趣的功能.此外,官方团队表示新版本将 Arang ...