轻松搞定 easyui datagrid 二次加载的问题

对于使用url方式的初学者,经常碰到重复请求的问题,这个问题的根源是因为一旦设置了url参数,Datagrid组件在实例化的时候就会做请求,如何避免二次加载这样问题呢,个人觉得注意以下两点基本就可以防止二次加载了。

  • 使用load和reload函数去动态加载数据,而不是选择再次渲染组件,而再次渲染组件的目的仅仅是为了设置url,这得不偿失,url的设置可以通过options方法获取到组件实例的opts,然后在给opts.url重新赋值即可;
  • 用class方式注册组件,一般只将属性写在DOM里,而事件通常还是用 javascipt调用datagrid构造函数注册,
  • 这个过程中就发生了二次请求:
  • 第一次是class方式实例化的时候,
  • 第二次是javascript 注册事件的时候。所以在要绑定事件的情况下,索性就不要使用class方式注册了。
  • 说这么多其实上面的都是扯淡;直接上列子:
  • <table id="materialData" class="easyui-datagrid" data-options="toolbar:'#tb'" ></table>
  • 把这里的class去掉就行了,改为:
    <table id="materialData"  data-options="toolbar:'#tb'" ></table>
  • 因为我们在js里面是这样写的:$('#materialData').datagrid({});
  • 所以body里面不用再写他的class,否则在页面加载《table》时候就回去调用一次,而在js里面还会去调用!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值