我有一個商店使用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