ExtJS-Data Package (数据处理包) Store类型

作者:神秘网友 发布时间:2022-07-13 07:01:56

ExtJS-Data Package (数据处理包) Store类型

更新记录
2022年7月13日 发布。
2022年7月6日 从笔记迁移到博客。

ExtJS教程汇总:https://www.cnblogs.com/cqpanda/p/16328016.html

Ext.data.Store(数据存储)数据存储说明

Ext.date.Store类型用于存储服务器上数据的一个本地子集
并在将数据发回服务器之前跟踪这一数据的变化(如果允许编辑数据的话)
数据存储在框架中为部件供给数据
Store是 模型实例(Model Instance) 和 用于获取数据的代理(Proxy) 的集合
Store还定义了 数据操作,比如:排序、筛选等
自定义数据存储类 通过继承 Ext.data.Store类 即可实现

ExtJS中许多组件依赖Ext.data.Store类,比如:

ExtJS-Data Package (数据处理包) Store类型

数据存储加载数据

数据存储中的数据可以静态(Static)定义的,比如直接内联的数据
也可以是动态(dynamic)从后端拉取得
一般在定义数据存储类时,需要在数据存储类中指定:
代理(proxy)、读取器(Reader) 和 写入器(Writer)

使用load()方法可以动态加载数据:
数据存储执行load()方法,通过对应的代理(proxy)加载数据
如果将autoLoad配置项设置为true,则在实例化存储时将自动调用load方法
如果将autoLoad配置项设置为false,则可以手动调用load方法来加载数据

数据同步到后端

自动同步数据:
可以将autoSync配置项设置为true
增删改Store中的记录时立即进行同步到服务器
在增删改数据存储中的记录时会自动调用服务器端的RESTful API

手动同步数据:
如果将autoSync配置项设置为false
则可以调用数据存储的sync方法来执行同步操作
调用sync方法将触发批处理操作(对服务器的多个调用)

Store增删改查

通过proxy配置项中配置api配置项,即可配置增删改查操作对应的后端api
当对应操作发生时,将会触发后端的create、update、destroy、read操作
比如:添加新的记录到store中会触发create操作

proxy: {    type : 'ajax',    url : 'users.json',    api : {   ////定义增删改查API        create:  url + '?action=create',  //增        destory: url + '?action=destory', //删        update:  url + '?action=update',  //改        read:    url + '?action=read'     //查    },    reader : {  //设置读取器         type: 'json',   //设置读取器的类型为JSONReader         rootProperty: 'data',   //设置书的根节点         idProperty: 'id',  //设置数据的Id列         successProperty: 'meta.success' //设置成功检测位   }, writer: {   //设置写入器          type: 'json',  //设置写入器的类型为JSONWriter          encode: true,          writeAllFields: true,  //写入所有属性,实际环境中设置为false          rootPropertyoot: 'data',   //设置根节点名称          allowSingle: true,          batch: false,   }}

当触发读取(read)操作时,会传送以下参数到后端:

'action' = string 'read'           //执行的操作,在API中定义的'_dc'    = string '1603421699813'  //时间戳,防止数据缓存'page'   = string '1'              //页,请求的页'start'  = string '0'              //起始位置'limit'  = string '25'             //限制条数
Store事件Store常用事件

add: This is called when a record is added to the store
beforeload: This is called before loading the data
beforesync: This is called before the sync operation
datachanged: This is called when records are added or removed from the store
load: This is called when the store reads from a remote data store
remove: This is called when a record is removed from the store
update: This is called when a record gets updated

实例:监听load事件
var myStore = Ext.create('Ext.data.Store', {    storeId: 'pandastore',    listeners: {  //监听事件        load: function (store, records, options) {            console.log("store load");        }    }});//触发事件myStore.load();

本文来自博客园,作者:重庆熊猫,转载请注明原文链接:https://www.cnblogs.com/cqpanda/p/16452723.html

ExtJS-Data Package (数据处理包) Store类型 相关文章

  1. ExtJS-Data Package (数据处理包) Model类型

    更新记录 2022年7月7日 发布。 2022年7月6日 从笔记迁移到博客。 ExtJS教程汇总:https://www.cnblogs.com/cqpanda/p/16328016.html Ext.data.Model(模型)模型说明 模型通常从Ext.data.Model类继承,类似:域模型(Domain)、实体(Entity) 例如:商城...

  2. ExtJS-Data Package (数据处理包) 数据处理介绍

    更新记录 2022年7月7日 发布。 2022年7月6日 从笔记迁移到博客。 ExtJS教程汇总:https://www.cnblogs.com/cqpanda/p/16328016.html 说明 数据处理功能 用于:服务器 与 客户机 之间通信、加载 和 保存 应用程序的数据 如果创建的是简单应用,...

  3. 数据储存(1):文件存储,保存至/data/data/"package_name"/f

    数据储存(1):文件存储,保存至/data/data/"package_name"/files/目录下 前提:最近遇到一个小的DVB项目,虽然数据都是有底层提供给我们的,但是应用层还是要对一些基本的数据进行处理,例如保存上次一播放的频道号,下一次记...

  4. 如何在阿里云上使用Data Lake Analytics分析Table Store数据

    如何在阿里云上使用Data Lake Analytics分析Table Store数据 为什么80%的码农都做不了架构师? Data Lake Analytics(简称DLA)介绍 数据湖(Data Lake)是时下大数据行业热门的概念:https://en.wikipedia.org/wiki/Data_lake。基于数据湖做分析,可以...

  5. Extjs4 动态更改Store里面的内容

    Extjs4 动态更改Store里面的内容 为什么80%的码农都做不了架构师? 目标:通过选择页面不同的radio,动态更新combobox里面的下了表单的内容。 最终效果: 1.没有选择前: 2.选择列表2后 具体代码实现: Ext.require('Ext.*');Ext.onReady(function(){//1....

  6. data structure 1 抽象数据类型(ADT)

    data structure 1 抽象数据类型(ADT) 1)ADT定义:是指一个数学模型以及定义在该模型上的一组操作。包括:数据对象、数据关系、基本操作。 2)ADT表示:就是要将该类型映射到计算机中,确定存储结构以及该存储结构之上基本操...

  7. LOAD DATA INFILE 导入数据到MySQL出现日期类型异常显示为0000-0

    LOAD DATA INFILE 导入数据到MySQL,出现日期类型异常显示为0000-00-00 00:00:00的解决办法 写完之前百万数据导入的总结后,最近还真经常遇到需要把百万数据导入MySQL,就用最快的Load Data Infile这个方法导入,但是今天遇到了要导入的数...

  8. 架构验证过程发现非数据类型错误 validation found non-data typ

    架构验证过程发现非数据类型错误 validation found non-data type errors 问题: infopath报一下错误 validation found non-data type errors 架构验证过程发现非数据类型错误 原因: 重复表字段在后台代码里要一一对应,否则报错。 错误代码: //Rem...

  9. PyThon入门文件编码包数据类型

    PyThon入门文件编码、包、数据类型 #一、文件编码 1、 python 编辑是的文本文件字体应该为UTF-8,可以修改TXT文件的字符编码,也可以通过第一行注释 #coding: MS936 或者 #coding: GBK等 #二、包的管理 1、from A(包) import B 2、import A.B as C(...

  10. 永久解决Sublime包管理package control 打开install package报错

    永久解决Sublime包管理package control 打开install package报错 There are no packages available for installation... 很多用户在使用sumblime安装插件的时候,打开package control的install package会出现报错:There are no packages available for inst

  11. nuget.server包_本周的NuGet软件包:Humanizer使.NET数据类型更

    nuget.server包_本周的NuGet软件包:Humanizer使.NET数据类型更人性化 nuget.server包 The .NET BCL (Base Class Library) moves too slow, IMHO. That's why NuGet and NuGet packages are so nice. It's a joy to find a rightly sized library like NodaTi

  12. Java包(package):Java系统包和自定义包

    在编写 Java 程序时,随着程序架构越来越大,类的个数也越来越多,这时就会发现管理程序中维护类名称也是一件很麻烦的事,尤其是一些同名问题的发生。有时,开发人员还可能需要将处理同一方面的问题的类放在同一个目录...

  13. Java 包(package)

    Java 包(package) 一. 目的:Java 使用包(package)这种机制是为了防止命名冲突,访问控制,提供搜索和定位类(class)、接口、枚举(enumerations)和注释(annotation)等。 二. 包的作用 1、把功能相似或相关的类或接口组织在同一个...

  14. R Studio编译一个包package

    编译一个包需要一个R文件和一个DESCRIPTION 目录结构: ├── testsum│ ├── DESCRIPTION│ └── R│ └── testsum.R DESCRIPTION文件内容: Package: brocolorsVersion: 0.1Date: 2014-08-27Title: Karl Broman ColorsDescription: Colors that Kar

  15. Unity Assets Stores 导入 Windridge City 资源包报错:'PostPro

    Unity Assets Stores 导入 Windridge City 资源包报错:'PostProcessing' does not exist in the namespace 报错: Assets\Windridge City Assets\Scripts\UIQuallityManager\UIQualityManager.cs(5,29): error CS0234: The type or namespace name 'PostPro

  16. 详解python如何引用包package

    python中引用包的方法: python中引用包可以使用“import 包名”语句引用包 示例:引入time import time 也可以用“from 包名 import 类名”的方式引用包 示例:引入time.time类 from time import time 内容扩展: 什么是Python Package 如何区分你看...

  17. SAP创建包Packages

    SAP创建包Packages 1.进入对象导航器(Object Navigator). T-Code: SE80 或从菜单中进入,如下图示: 2.在左上方选项卡中选择 Repository Browser , 在下方下拉框中选择 Package ,在文本框中输入定义包的名称(一般开发中如用户自定义名称使用Z开...

  18. Go语言package(创建包)

    包(package)是多个 Go 源码的集合,是一种高级的代码复用方案,像 fmt、os、io 等这样具有常用功能的内置包在 Go语言中有 150 个以上,它们被称为标准库,大部分(一些底层的除外)内置于 Go 本身。 包要求在同一个目录下的所...

  19. Java 使用包(Package)管理Java中的类

    Java 使用包(Package)管理Java中的类 程序员在开发过程中需要提供大量的类,那么这么多类会发生同名的情形呢?答案是肯定的。那么如何处理这种重名问题呢? 一、包(Package)的作用 1、管理Java文件 2、解决同名文件冲突。Java允许...

  20. Dart package包目录结构示例及主要目录功能说明

    各种语言都有自己的包默认的目录结构,dart也不例外。假设有一个名称为 enchilada 的完整的包目录(基本用到了所有的子目录),那么它的目录结构看起来像下面这样: enchilada/ .dart_tool/ * .packages * pubspec.yaml pubspec.lock ** LICENSE REA...

每天更新java,php,javaScript,go,python,nodejs,vue,android,mysql等相关技术教程,教程由网友分享而来,欢迎大家分享IT技术教程到本站,帮助自己同时也帮助他人!

Copyright 2021, All Rights Reserved. Powered by 跳墙网(www.tqwba.com)|网站地图|关键词