在ExtJS中为store's代理添加头文件
Adding headers to store's proxy once in ExtJS
我有一个商店,我需要添加一些头到它的代理。我不想使用Ext.Ajax单例的defaultheheaders,因为它们只针对少数商店。
头使用键/值对,值来自一个变量,该变量在初始加载存储时未加载,该变量在成功登录后填充。
由于这个原因,我不能在代理或存储上使用构造函数,因为我用于头文件值的变量不可用。
我能让它工作的唯一方法是使用beforeLoad的存储。这真的是实现这个目标的最好方法吗?
这是我的商店里的监听器,我检查它是否未定义,因为它每次都被触发。
listeners: {
beforeload: function( store, operation, eOpts ) {
if (this.proxy.headers === undefined) {
this.proxy.headers = {
'X-GType': CompA.Items.getGtype().get('type'),
有谁知道更好的方法吗?
似乎不存在只触发一次的事件
作为"事件只触发一次"问题的一般答案-您可以将侦听器配置为在一个事件后自动取消侦听。
listeners: {
'beforeload': {
fn: function(...),
single: true
}
}
一般来说,如果在'critical' store加载之后创建视图会更好。这意味着你很可能需要在应用程序主文件中将autoCreateViewport设置为false。然后在商店成功回调中手动创建它。在init()方法中钩子来完成这个任务。
示例:(伪代码)
App.js
init: function() {
myImportantStore.load({
success: function() {
// create your viewport
}
});
}
相关文章:
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 如何在映射数组中添加换行符
- 正在将数据主题添加到所有项目
- ZeroClipboard-在复制之前添加到值
- 我可以在json对象中添加一个函数吗
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 正在SharePoint 2013母版页中添加JQuery移动文件
- 如何添加浮动和非浮动,其他
- 添加文字和评论功能更新Div
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- 在函数中添加数组元素的数值
- 如何将歌曲添加到jPlayer
- 在html Select中添加搜索
- 将 https 添加到由 webpack 代理的 graphql express 端点
- 将grunt连接代理添加到生成器angular gruntfile.js中
- 将代理添加到处理程序- Hapi
- 任何人都可以帮助如何添加修改头用户代理到chrome浏览器使用selenium webdriver编程
- 在ExtJS中为store's代理添加头文件
- 代理对象不能添加到DOM(陷阱也不会触发)