开发者

Sencha Touch: Dynamic chart labels in a MVC app

So I have an app I am using to learn more about touch. I got the basic framework setup based on tutorials I have found around the net where I can bounce around the app clicking on things. I integrated a sencha touch line chart which works fine.

The problem is I want to populate the series labels for the chart based on data that comes back from the server, not hard code the labels. My plan was to once execute:

Ext.redirect('Chart/Index');

I would hit that controller and load the store. In the onLoad listener for the store, once the data is returned, populate the title array in the series and render the chart. I tried to attach a customer listener to the chart view, and then execute it from the store listener.

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

That isn't working for me, listener is undefined (I do have it defined in the chart view). So that isn't my solution.

Then I tried to give the chart an id, and do a Ext.query(#myChartName); That returned a html element, not something wrapped in Ext that can be executed.

Now it extsj4, I can put a listener for a store in the controller, and define a method in the controller to execute. It can easily access any component within the controller and would be how I would solve this issue. But that doesn't seem to be how MVC works in the touch apps. The examples I have seen are laid out drastically different in fact. (Why is that btw?)

What's my best sol开发者_运维知识库ution in taking the data in my store after load and populating the labels/legend in my chart?

UPDATE Added links to the code in question. I am trying to add strings (the label names) to the title array in the series. Notice the Chart View & the Store.

Chart view

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

Controller

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

Store

http://jsfiddle.net/LT6eh/

FYI, I tried adding the listener to multiple things/objects like the app, the view, within the controller, still no luck.


Did you try Ext.getCmp('myChartId') to get access to the chart component?

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜