0

EXTJS4 MVC 構造を使用したスト​​アのチャートがあり、別の JavaScript ファイルを介してオンライン API からデータを取得しています。外部からストアにデータを追加できるかどうかを知りたいので、store.load( を呼び出したときにロードされます) )。

外部 js は extjs または mvc の一部ではなく、チャートの背後のページで実行されます。すべてのロジックを extjs コントローラーに転送する必要がありますか? 外部jsからextjsメソッドを呼び出す方法はありますか? ありがとう。

4

2 に答える 2

1

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 アプリ内から必要なメソッドを呼び出してください。

于 2012-06-07T09:52:10.893 に答える
0

以下を使用してローカルの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-26T22:10:14.040 に答える