0

だから私はタッチについてもっと学ぶために使っているアプリを持っています。ネットで見つけたチュートリアルに基づいて、基本的なフレームワークのセットアップを取得しました。そこでは、アプリをクリックしてバウンスできます。うまく機能する煎茶タッチの折れ線グラフを統合しました。

問題は、ラベルをハードコーディングするのではなく、サーバーから返されたデータに基づいてチャートの系列ラベルを作成したいことです。私の計画は、一度実行することでした:

Ext.redirect('Chart/Index');

そのコントローラーを押して、ストアをロードします。ストアの onLoad リスナーで、データが返されたら、シリーズのタイトル配列にデータを入力し、チャートをレンダリングします。チャート ビューに顧客リスナーをアタッチし、店舗リスナーから実行しようとしました。

listeners: {
    load:function(el,records, success){
        App.fireEvent('myListener', records);
    }
 },

それは私にとってはうまくいきません。リスナーは未定義です(チャートビューで定義しています)。だから、それは私の解決策ではありません。

次に、チャートに ID を与え、Ext.query(#myChartName); を実行しようとしました。これは、実行可能な Ext でラップされたものではなく、html 要素を返しました。

extsj4 では、コントローラーにストアのリスナーを配置し、コントローラーで実行するメソッドを定義できます。コントローラー内の任意のコンポーネントに簡単にアクセスでき、この問題を解決する方法になります。しかし、タッチ アプリでの MVC の動作はそうではないようです。私が見た例は、実際には大幅に異なって配置されています。(ところでそれはなぜですか?)

ロード後にストアのデータを取得し、チャートにラベル/凡例を入力するための最良のソリューションは何ですか?

UPDATE 問題のコードへのリンクを追加しました。シリーズのタイトル配列に文字列 (ラベル名) を追加しようとしています。Chart View と Store に注目してください。

チャート ビュー

http://jsfiddle.net/5JhCu/2/

コントローラ

http://jsfiddle.net/3C4Tq/1/

http://jsfiddle.net/LT6eh/

参考までに、コントローラー内のアプリ、ビューなどの複数のもの/オブジェクトにリスナーを追加しようとしましたが、まだ運がありません。

4

1 に答える 1

1

Ext.getCmp('myChartId')を試して、グラフコンポーネントにアクセスしましたか?

于 2011-09-25T00:08:36.560 に答える