惰性地向ext js应用程序添加第三方库(只有在需要时才这样做)
add a third party library to ext js application lazily (that is only when it is required)
我想在sencha应用程序中添加第三方js,只有在渲染新窗口时,例如在单击按钮时,会弹出一个新窗口,当这种情况发生时,d3.js库js也被加载。
要在Ext js中加载一个新文件,我们可以使用require键:requires : ['MyApp.stores.UserStore']
在extjs文档中描述。我们是否也可以为第三方库做类似的事情?
注:-我使用Ext Js 4.1.0
更新
你应该可以用Ext.Loader.loadScript(options)方法还提供了一个回调,当加载完成时调用。
基本上你可以加载任何东西,只要它是一个单一的ExtJS类每个文件(我必须承认,我从来没有尝试过任何其他!)您可以使用
注册其他路径Ext.Loader.setPath('EL','your/path/name'); // not done in the example below!
和在运行时要求一些东西是很容易的,只要加载器配置为这样。下面是一个在运行时从另一个域和一个完整的新路径加载Ext.ux.statusbar.StatusBar
的示例。这里是JSFiddle -只需点击按钮,类被加载,然后应用addDocked
Ext.Loader.setPath( 'Ext', 'http://docs.sencha.com/ext-js/4-1/extjs-build/examples');
Ext.create('Ext.Panel', {
width: 200,
height: 200,
renderTo: Ext.getBody(),
tbar: {
xtype: 'statusbar',
statusAlign: 'right',
items: [
{
xtype: 'button',
text: 'show window',
id: 'ani-target',
handler: function(btn) {
if (btn.up('panel').down('window').isVisible()) {
btn.up('panel').down('window').hide();
btn.setText('maximize');
}else {
btn.up('panel').down('window').show();
btn.setText('minimize');
Ext.define('Ext.ux.custom.StatusBar',{
extend: 'Ext.ux.statusbar.StatusBar',
alias: 'widget.cstatus',
requires: ['Ext.ux.statusbar.StatusBar'],
text: 'Ready',
initComponent: function() {
this.callParent(arguments);
}
});
btn.up('panel').down('window').addDocked({ xtype: 'cstatus'});
}
}
}
],
},
items: [{
xtype: 'window',
closable: false,
width: 100,
height: 100,
id: 'demo-win',
animateTarget: 'ani-target'
}]
})
相关文章:
- 页面在我的javascript执行后重新加载,我不希望它这样做
- 如何在将鼠标悬停在提交/锚点上时检查复选框是否已选中,并显示提示用户这样做的警报
- JavaScript 如果数组包含名称,则不要这样做
- 我用脚本创建了一个按钮.我可以通过点击按钮调用其他函数吗?我这样做,但失败了
- Jquery语法;也这样做”;
- 如果我不这样做会发生什么;t在javascript中的变量中分配新的Image
- 如果他们不这样做,就从我的数组中删除东西't没有前缀
- 如何使用“;这个“;在javascript中?这样做的目的是什么
- 如果我不这样做会发生什么;t有页码吗?继续循环帖子..为什么需要分页,对于页脚
- 禁用 ALT+F4,是的,我知道不建议这样做
- 使用默认值定义构造函数.我这样做对吗?
- 我刚刚开始使用 MEAN 堆栈.我试图将我的表单提交数据存储到 mongo 数据库,但我无法这样做
- 为什么不这样做
- Node.JS/Javascript - 将字符串转换为整数正在返回 NaN,而我不希望它这样做
- 在angularjs中拥有$sce或严格上下文转义有什么好处,为什么反应不需要这样做
- 如何分解此代码以减少重复(以及应该这样做)
- 嵌套的 if/else 语句讨论了分配变量.我已经这样做了,但它仍然不起作用
- blur() 无法以编程方式工作 |但在从用户启动时会这样做
- Webkit 似乎不支持层上的 $.focus(),而 IE9 支持.无论如何,让webkit浏览器也这样做
- 惰性地向ext js应用程序添加第三方库(只有在需要时才这样做)