我有一个使用javascript MVC结构的存储的图表,我通过另一个EXTJS4文件从一个在线api中获取数据,我想知道是否可以将数据添加到外部的存储中,以便在我调用store.load()时加载。
外部js不是extjs或mvc的一部分,它在我的图表后面的页面上运行。我必须把所有的逻辑都转移到extjs控制器中吗?有没有办法从外部js调用extjs方法?谢谢。
发布于 2012-06-27 06:10:14
最终使用以下代码访问本地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});发布于 2012-06-07 17:52:11
确实存在从特定于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应用程序内部调用所需的方法作为替代。
https://stackoverflow.com/questions/10926445
复制相似问题