将值从视图中的选择字段传递到商店

时间:2013-03-20 18:37:34

标签: javascript sencha-touch-2

如何正确地将selectfield的值传递到商店中的ajax代理?

Ext.define('FirstApp.view.Home',{
extend:'Ext.Panel',
xtype:'home',
config:{
    title:'Home',
    iconCls:'home',
    html:'<h1>Home Page</h1><hr><p>Welcome to Sencha Touch 2 Training</p>',
    layout:'fit',
    scrollable:true,
    styleHtmlContent:true,
    styleHtmlCls:'home',


    items: [
            {
                xtype: 'selectfield',
                id: 'visit',
                label: 'Choose one',
                value:'restaurant',
                options: [
                    {text: 'Museum',  value: 'museum'},
                    {text: 'Pubs', value: 'pub'},
                    {text: 'Attractions',  value: 'attraction'}
                ]
            }
        ]
                }

    })

我正在尝试将值放在此处:'+ REFERENCE HERE +'在下面的代码中。我试过'+ #visour +'和'+ #value +'没有成功

Ext.define('FirstApp.store.Places',{
extend:'Ext.data.Store',

config:{

    autoLoad:true,
    model:'FirstApp.model.Place',
    proxy:{
        type:'ajax',
        url:'https://maps.googleapis.com/maps/api/place/search/json?  location=52.247983,-7.141113&radius=10000&types=food&name='+ REFERENCE HERE +'&sensor=false&key=KEY',
        reader:{
            type:'json',
            rootProperty:'results'
        }
    }
}
})

1 个答案:

答案 0 :(得分:0)

要在Sencha框架中按ID获取组件,您要使用Ext.getCmp,然后使用getValue方法。所以在你试图提出参考的地方,把它放在:

Ext.getCmp('visit').getValue()

理想情况下,您希望避免使用硬编码的组件ID,而是根据组件路径,类型等使用refs / selectors。