首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在 extjs 商店中设置限制不会更新页面变量

在 ExtJS 中,商店(store)用于存储和管理数据,而页面变量(page variables)是指在页面加载时设置的变量。要在 ExtJS 商店中设置限制并防止更新页面变量,可以采用以下方法:

  1. 使用 ExtJS 的事件监听器(event listeners):

在商店(store)中添加事件监听器,监听 update 事件。当商店中的数据更新时,该事件将被触发。在事件处理函数中,可以通过 e.record.get('fieldName') 获取更新的记录的字段值,然后根据需要更新页面变量。

代码语言:javascript
复制
store.on('update', function(store, record, operation, fields) {
    // 获取更新的记录的字段值
    var fieldValue = record.get('fieldName');

    // 根据需要更新页面变量
    // ...
});
  1. 使用 ExtJS 的数据模型(data models):

在 ExtJS 中,数据模型(data models)用于定义数据结构和验证规则。可以在数据模型中定义字段的限制条件,以防止更新页面变量。

代码语言:javascript
复制
Ext.define('MyModel', {
    extend: 'Ext.data.Model',
    fields: [
        { name: 'fieldName', type: 'string', validator: function(value) {
            // 在此处添加限制条件,如果值不符合要求,返回 false
            // ...
        }}
    ]
});
  1. 使用 ExtJS 的数据代理(data proxies):

在 ExtJS 中,数据代理(data proxies)用于从服务器加载和保存数据。可以在数据代理中添加限制条件,以防止更新页面变量。

代码语言:javascript
复制
var proxy = Ext.create('Ext.data.proxy.Ajax', {
    url: 'your-url',
    reader: {
        type: 'json',
        rootProperty: 'data'
    },
    writer: {
        type: 'json',
        writeAllFields: false,
        allowSingle: false
    },
    listeners: {
        write: function(proxy, operation) {
            // 在此处添加限制条件,如果操作不符合要求,则取消操作
            // ...
        }
    }
});

var store = Ext.create('Ext.data.Store', {
    model: 'MyModel',
    proxy: proxy
});

通过以上方法,可以在 ExtJS 商店中设置限制并防止更新页面变量。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Ext JS 教程-MVC架构 原

ExtJS 4 带来了一种新的不仅仅能规整你的代码组织结构,而且能限制你要编写的代码数量的应用程序架构。 我们的应用程序架构承载于一种类MVC的模式,第一次推出了模型和控制器。...模型工作起来很香ExtJS 3中的Record类,而且一般同Stores一起用来在表格(grid)和组件中展示数据。 2 视图表示任何类型的组件 - 表格、树,还有面板等都是视图。...所有ExtJS 4应用程序都应该使用一个单独的全局变量,将应用程序的所有类网络其中。...这样就自动的为我们设置了一个全局变量 AM,并且向 Ext.Loader 注册了命名空间,附带通过 appFolder 配置选项设置了对应的与其(命名空间)对应的路径‘app' 。...这就会告诉应用程序自动加载那个文件,以便我们在启动时使用到它。引用程序使用 ExtJS 4 的新的动态加载系统去自动的把这个文件从服务器推出来。下面是现在当我们刷新页面时所看到的: ?

3.3K10
  • ExtJs二(实现登录)

    开始动手  1.在解决方案资源管理器中选择Scripts\ExtJS\ux目录,单击右键选择添加,新建项,在弹出窗口中选择Jscript文件,并将名称修改为login.js(以后的项目的可直接将该文件复制到该目录...如果想要在脚本中使用ExtJS的提示信息,可将书附带的资源包中的Ext.js文件复制到ExtJS目录中,复制后,在解决方案资源管理器将Ext.js拖到到login.js文件中,就会生成以下代码:  //...,这样的好处包括,一是,如果this是window等全局变量,就可以将全局变量变成本地变量,提高访问效率,二是可以让闭包访问该对象。...第二句表示将表单面板向内压缩5像素,这样表单内的组件就不会和窗口的内边框粘在一起,这个可根据个人喜好设置。第三句的作用就是让表单面板的背景颜色和窗口融合在一起,而不是默认的白色,这还是个人喜好问题。...,让页面写入验证信息到Cookie。

    2.1K10

    ExtJs二(实现登录)

    开始动手  1.在解决方案资源管理器中选择Scripts\ExtJS\ux目录,单击右键选择添加,新建项,在弹出窗口中选择Jscript文件,并将名称修改为login.js(以后的项目的可直接将该文件复制到该目录...如果想要在脚本中使用ExtJS的提示信息,可将书附带的资源包中的Ext.js文件复制到ExtJS目录中,复制后,在解决方案资源管理器将Ext.js拖到到login.js文件中,就会生成以下代码:  //...,这样的好处包括,一是,如果this是window等全局变量,就可以将全局变量变成本地变量,提高访问效率,二是可以让闭包访问该对象。...第二句表示将表单面板向内压缩5像素,这样表单内的组件就不会和窗口的内边框粘在一起,这个可根据个人喜好设置。第三句的作用就是让表单面板的背景颜色和窗口融合在一起,而不是默认的白色,这还是个人喜好问题。...,让页面写入验证信息到Cookie。

    1.9K20

    我的javascript学习之路_01之js基础1JavaScript的简介JavaScript的使用JavaScript输出javascript语句JavaScript注释JavaScript变量J

    近期开始接触学习extjs框架。该框架是基于JavaScript的。为了更好地理解学习extjs,必然需要先对JavaScript有一个较好的理解。... 把脚本保存到外部文件中。在 标签的 "src" 属性中设置该 .js 文件 或 部分中,或者同时存在于两个部分中。 ** 通常的做法是把函数放入 部分中,或者放在页面底部。...这样就可以把它们安置到同一处位置,不会干扰页面的内容。** 外部脚本不能包含 标签。...; 变量的声明简单,var关键字。变量是存储信息的容器。 在计算机程序中,经常会声明无值的变量。未使用值来声明的变量,其值实际上是 undefined。

    1.5K20

    Ext布局

    核心技能部分​ 1.1 布局的用途 所谓布局,简单来说就是在页面中的各个元素怎样摆放。...虽然这个布局还略显粗糙,但也可以自动检测浏览器的大小变化和自动适应布局中每个部分的大小。 为了实现良好的页面布局,ExtJS提供了多种各式各样的布局,下面就将学习各种常见布局。...以后无论页面如何变化,Column1的宽度都不会改变,Column2和Column3会根据页面的大小改变而改变。...首先设置Viewport的布局为BorderLayout,然后对各个子组件再使用不同的布局方式 ​本章总结​ Ø ExtJS提供了多种布局方式实现页面布局,ExtJS常用的布局都在Ext.layout...不限制 2. BorderLayout使用( )属性设置子控件在容器中的方位。 A. items B. title C. region D. border 3.

    9010

    ExtJS4预览:渲染过程重构和标准化

    在过去的四年,ExtJs代码库已经进化了,新组件被加进来,编码标准也改进了。在这个过程中,为了重构旧组件有必要经常追溯回去以保证他们也被改进。 在ExtJS4之前渲染组件没有标准的方式。...在页面上表格经常被用作模板来构建他们的标记。 ExtJS4,我们的目标是统一这些方法为一个标准的方法,那就是XTemplate和DomQuery。...引入(介绍)renderTpl、renderData、renderSelector ExtJS中的所有组件的展现都是基于一个基础的具有唯一ID的具有component类(cls\cmpCls\baseCls...,这两个变量将从renderData获取。...评论:在一定程度上表转化了代码的组织和使用,但是还是不够优雅,比如iconEl并没有在属性上定义,下面用的时候有些"勉强",并且不会有提示。

    1.1K100

    Java 开发进销存管理系统

    登录页面 ? 2. admin登录后的主页 ? 3. 菜单管理 ? 4. 角色管理>新增角色 ? 5. 用户管理 ? 6. 添加商品 ? 7. 仓库管理 ? 8. 供应商管理 ? 9....进销存系统是对企业生产经营中采购、入库、销售进行跟踪管理,从采购单开始,到商品入库,商品销售出库,每一步都跟踪记录。有效解决企业的分销管理等业务问题。...系统总体流程 系统的一个整体流程,从初次使用开始,系统设置一个超级管理员(admin),拥有系统的所有权限。admin登录系统,设置角色(系统管理员,采购员,销售员,库存管理员),分配对应的权限。...使用idea的调试功能,比如,你只需要按快捷键Alt+F8,然后输入表达式,就可以快速求值;在调试的时候,idea会在变量的后面以不同的颜色显示变量的值,你就可以很清楚的知道调试的每一步,非常方便。...同时,ExtJs拥有很多个性化的主题供你选择,是开发后台管理系统的一个不错的选择。 ---- 由于本文篇幅太长,而微信公众号文章有字数限制,所以只能分成三篇来发,因此大家阅读起来可能比较麻烦,望见谅~

    1.8K20

    EXT.NET高效开发(一)——概述

    虽然我不讨厌JS,但是能不写的,我不会多手。让EXT.NET搞定这些吧。。 3)错误率降低。 这点不需要解释。当然只是相对Extjs的。一般情况下,我写JS都是小心翼翼的。 4)可维护性。...6)可以在服务器事件中操作。...支持页面后台绑定,也支持xml、Ajax请求等等。 8)使用更快捷。 控件一拖(虽然我一般不拖),JS、CSS链接不需要操心了。...语言也不需要操作了,会自动设置本地语言(虽然有时汉化不彻底,但是还勉勉强强)。 9)其他。一时间想不起来了。有想到的就回复下吧。嘿嘿。 那相比WebForm,Ext.NET的优势又在哪呢?...比如设置了GridPanel的AutoExpandColumn属性(自动展开列),但是这个列名自己又疏忽了(也就是不存在),那么页面将不显示,也不会有异常提示显示。这时候就得自己分析原因啦。

    1.1K30

    ExtJs学习笔记(22)-XTemplate + WCF 打造无刷新数据分页

    T_GuestBook,直接在数据库里建好,拖到dbml里就可以了,主要代码如下(注意要设置dbml的序列化属性为"单向",否则vs不会自动为class以及成员加上序列化标签): Code [Table...value="{CurrentPageIndex}"/>Go', '' ); //初始化分页变量...Ext.util.JSON.decode(data) tpl.overwrite("BBS", data); //其实下面这四句在本例中没什么大的作用...,分页按钮以及链接还没有加载到页面中,这时如果用Ext.get()取对象,Js会报错    完成了,我们来看下一效果: 转载请注明来自"菩提树下的杨过" 最后讲一点题外话:    做完这个后...相信也有不少人跟我有一样的疑问,后来我想了想,至少有二个好处:    a.updatepannel默认会引起大量的数据回发,虽然页面没刷新,但是客户端跟服务端之间的传输数据量很大,而用ExtJs+Wcf

    1.4K50

    Java开发进销存管理系统

    登录页面 ? 2. admin登录后的主页 ? 3. 菜单管理 ? 4. 角色管理>新增角色 ? 5. 用户管理 ? 6. 添加商品 ? 7. 仓库管理 ? 8. 供应商管理 ? 9....进销存系统是对企业生产经营中采购、入库、销售进行跟踪管理,从采购单开始,到商品入库,商品销售出库,每一步都跟踪记录。有效解决企业的分销管理等业务问题。...系统总体流程 系统的一个整体流程,从初次使用开始,系统设置一个超级管理员(admin),拥有系统的所有权限。admin登录系统,设置角色(系统管理员,采购员,销售员,库存管理员),分配对应的权限。...使用idea的调试功能,比如,你只需要按快捷键Alt+F8,然后输入表达式,就可以快速求值;在调试的时候,idea会在变量的后面以不同的颜色显示变量的值,你就可以很清楚的知道调试的每一步,非常方便。...---- 由于本文篇幅太长,而微信公众号文章有字数限制,所以只能分成三篇来发,因此大家阅读起来可能比较麻烦,望见谅~ 下一篇将讲解底层架构设计!

    7K52

    解读 AppStore 新功能:自定义产品页面和 AB Test 工具

    : 自定产品页面 产品页面优化 简单来说,自定产品页面 就是开发者可以针对一个 app 设置不同的商店截图、app 预览和推广文本;而 产品页面优化 就是可以测试使用不同的 app 图标、截图、预览和推广文本时...您可以随时在 App Store Connect 中创建新的页面并单独提交这些页面进行审核,而不需提交 app 更新。...至于这个分配的规则苹果会不会透露暂时不确定,大家一起期待更新吧。 解读5:测试有结果后,如果对照组效果更好,对照组是否可以设置为默认组?...但是,一个 app 最多可以有多少个测试产品页面呢?会不会是不限制?...一起期待吧~ 解读 A/B Test 开发者可以对 app 产品页面进行 A/B 测试,早在 2015 年的 Google Play 商店中已经有了,所以,开发者其实一直在 “催” App Store

    2.1K70

    周末浅谈-WEB前端组件

    前端组件化中的DOM构成,现在有二个方向,我个人觉得,一是把DOM打包然后在需要的时候import;二就是自定义标签,像React那种的。具体哪种适合,这要看具体的业务场景。...但抛开所有限制,我喜欢DOM打包然后在需要的时候导入。...,绑定的事件啊; 4,清理期,就是此组件和其它元素的关系,还有它用到的变量,该删删,该清清; 在这几个过程中,会有不同的方法被调用,每一个生命周期内部又会再根据不同情况,添加不同事件,调用不同的方法。...在新的web标签中,我记得有一个,可以这么写,但我没这么用过,哪位同学有兴趣可以试试。...所以就用import,在需要的时候,再把这个大菜单加到页面中来。 当然了,import的使用,也是要有限度的,你不能搞成多个页面互相依赖加载,那就有点麻烦了。

    92550

    TypeScript 强类型 JavaScript – Rafy Web 框架选型

    弱类型、动态的特性,导致如果不到运行时,就很难确定一个变量的具体类型,所以也就很难提供代码提示、重构等。...一是因为我要做的是 SinglePageApplication 的 Web 界面框架,而 ExtJs 4 中带了大量的界面控件,非常方便使用;其次,ExtJs 4 提供了客户端的实体模型,这可以与 Rafy...该文档中的内容其实还是约定了一些封装、继承、多态的编写约定(ExtJS 给出的面向对象类型系统同样不完美)、以及一些代码的规范。...例如一般性的 Web 应用或站点的前端开发,这种页面级的逻辑往往编写在页面中,即简单,也不需要 OOD;再如,JQuery 框架的开发,这种框架的目标是灵活、方便、动态,而不是面向对象,所以也不太适合,...所以 JQuery 框架应该不会使用 TypeScript 来重写。

    2.3K60

    自己动手写UI库——引入ExtJs(布局)

    里的一个基类,Ext里所有的界面元素都继承自这个基类 第二: Id,Width,Region,Height都是这个基类的属性,在ExtJs中Component类也包含这些属性,当然还有很多其他的属性,这里我们就没有一一例举了...第三: 设置Width,Region,Height这三个属性的时候我们都让浏览器执行了一段脚本,这段脚本让ExtJs设置控件的相应属性 Panel类的代码 第一: 我们再这个控件类的构造函数里执行了...JS代码,并通过JS代码创建了这个控件 第二: 创建完控件之后,就马上获取了这个控件的ID,这个ID是EXTJS自动生成的ID,与页面上的其他控件是不会重复的 第三: 控件在界面上的ID获取到之后,我们就赋给这个控件的基类的属性...第五: Viewport类的代码 第一: 这个类的代码的执行逻辑和panel代码类的逻辑相似 第二: 这个类和Panel类都继承自Container类 Container类的代码 第一: 与Extjs...相同Container类继承自Compent类,也就是我们前面提到的控件的基类 第二: 我们再这个类中添加了Add方法,在这个方法里也是执行了一段JS函数,把一个控件添加到另一个控件中 第七: 工程的目录结构

    1K50

    在SharePoint环境下,dll资源脚本权限问题

    最近在用Ext.NET,因为是在SharePoint环境下使用,一直被这样一个问题所困扰着:在使用Ext.NET时,页面必须使用拥有管理权限的用户刷新一次(只要刷新其中任意Ext.NET...查看网页源代码,发现Extjs的脚本文件和CSS文件并没有注册。而Extjs的脚本文件和css文件是作为资源嵌套在Ext.NET的dll中的。...本以为应该挺好解决的,结果设置dll的安全权限设置为Everyone不行,iis匿名访问等等也不行,配置Web.config的safecontrol等等都不行。...页面的Page_Load事件中,调用BuildAllPrivilegesForExtNET方法: ResourceManager1.BuildAllPrivilegesForExtNET(); 发现问题终于解决...并且SiliverLight插件上传完毕,也不会导致之前的问题了。看来RunWithElevatedPrivileges方法确实挺好用的。

    51830

    ExtJs学习笔记(2)_Basic GridPanel

    里用类似"MyService.svc/GetClsData"这样的url来访问 b.Extjs调用的前端页面 <%@ Page Language="C#" AutoEventWireup="true...            return _Result.ToArray();         } 最后说明几个注意事项: 1.Ext.onReady(function() {...}这一串script,如果直接写在页面中...中,否则网格上右击,设置显示列时,报JS错误,原因不明。...2.WCF的服务端方法,必须设置成JSON格式,另外Method设置为GET,否则运行时,前端页面读不出数据 3.如果设置了autoExpandColumn,则autoExpandColumn对应的列...在序列化成JSON时的bug. 5.为了减少生成的JSON字符串的大小,可以仅在需要输出的类属性上标记[DataMember],这样在生成的JSON字符串,不会包含未标记为[DataMember]的字段

    1.8K90

    产品前端重构(TypeScript、MVC框架设计)

    大量重复的代码:由于在初期,并没有搭建一个统一的框架,把一些通用的代码提取出来,而且项目组的开发人员也很随意地拷贝代码,导致大量页面都有些重复的逻辑。而当前开发的模块本身的特性代码,则混杂在其中。...但是我们又需要使用 TypeScript 来编写整个应用程序,而 TypeScript 在语言层面提供了新的面向对象系统,使用后者将导致我们不能使用 EXTJS 5 本身自带的 MVC 模式。...由于视图控件还是采用 EXTJS 中的控件,所以这个 MVC 框架中的 View 其实是图中的 ViewBuilder,其职责为创建 EXTJS 中的控件。...这样,Controller 不但能监听任意界面元素的事件;还可以把这些界面元素缓存下来,在 Controller 中的其它逻辑代码处,来使用这些界面元素。...之前全都堆在一个文件中的代码,现在要分为控制器、视图,而且还需要基于统一的底层框架来实现,框架中的 Api 还需要慢慢熟悉,学习门槛高了不少。

    1.9K80
    领券