我有一个商店使用EXTJS4 MVC结构的图表,我通过另一个JavaScript文件从在线api获取数据,我想知道是否可以将数据添加到商店外部,所以当我调用store.load()时它会加载。extjs - 将数据添加到外部Javascript存储
外部js不是extjs或mvc的一部分,它运行在我的图表后面的页面上。我是否必须将所有逻辑转移到extjs控制器中?有没有办法从外部js调用extjs方法?谢谢。
我有一个商店使用EXTJS4 MVC结构的图表,我通过另一个JavaScript文件从在线api获取数据,我想知道是否可以将数据添加到商店外部,所以当我调用store.load()时它会加载。extjs - 将数据添加到外部Javascript存储
外部js不是extjs或mvc的一部分,它运行在我的图表后面的页面上。我是否必须将所有逻辑转移到extjs控制器中?有没有办法从外部js调用extjs方法?谢谢。
使用以下命令结束访问本地js文件。
var url = "url.js";
var onload = function() {
console.log('url loaded');
};
var onerror = function() {
console.log('error loading analytics functions');
};
Ext.Loader.injectScriptElement(url, onload, onerror, scope);
请确保您app.js启动Ext.Loader像这样:
Ext.Loader.setConfig({enabled:true});
确实有方法从ExtJS特定代码的外部调用ExtJS对象的方法,毕竟它只是JS。
你需要从你的ExtJS的代码返回引用说图表,东西沿着这些线路(在ExtJS的代码)公开的方法:
function getChart() {
return Ext.getCmp('myChartID');
}
然后在外部JS,你可以做是这样的:
var data = ...; // This is where you can get your external data
var chart = getChart();
chart.load(data);
这取决于从您的ExtJS的公开的方法,所以你需要能够引用的能力。
尝试调用该方法从ExtJS MVC应用程序中检索数据可能会更容易。提供你的外部JS文件被加载后,它可能会返回一个对自身的引用,你可以调用它的方法。因此,考虑到这一点,只需从ExtJS应用程序内部调用所需的方法即可。
谢谢,我会试试看看它是如何发展的。在不得不包含很多JavaScript文件的情况下,我觉得这会更好。 – theannouncer
没明白你想要什么。你有什么尝试?什么没有奏效? – Vytautas