如何在extjs4中访问json文件中的额外参数?

时间:2013-02-04 14:57:10

标签: json extjs yii

我正在使用extjs4 MVC加yii框架。我遇到的问题是如何访问来自服务器的jason文件中的额外参数并将其处理到extjs4中的客户端。 我的代码: - 1)我的json文件是: -

{
    'users': [
        {
            "userId": 1,
            "userName": 'Who will win the series11111111?',
            "message":"You are welcome",
        }
    ]
}       

2)我在extjs4中的userModel类: - 在此文件中,没有任何“消息”属性可用。

Ext.define('Balaee.model.sn.UserModel',{

extend: 'Ext.data.Model',

fields: ['userId','userName','password'],
proxy:
{
    type:'ajax',
    api:
    {
        read:'http://localhost/balaee/Balaee/index.php?r=SocialNetworking/user/AuthenticateLogin',
        create:'http://localhost/balaee/Balaee/index.php?r=SocialNetworking/user/AuthenticateLogin',
    },//end of api
    reader:
    {
        type:'json',
        root:'users'
    },//end of reader
    writer:
    {
        type:'json',
        root:'records',
    },//End of writer
}//end of proxy
});

3)这是我的视图文件,我将访问来自json文件的userName和消息字段。

Ext.define('Balaee.view...',
        {
                extend:'Ext.view.View',
                store:'kp.UserStore',
                config:
                {
                    tpl:'<tpl for=".">'+
                        '<div id="main">'+
                        '</br>'+
                        '<b>userName :-</b> {userName}</br>'+
                        '<b>message :-</b> {message}</br>'+
                        '</div>'+
                        '</tpl>',
                    itemSelector:'div.main',    
                }
        });// End of login class

但它不起作用。它显示userName字段值但不显示消息字段值。

实际上我想访问extjs4中模型类中不存在的消息字段。访问这种没有任何关系的字段是否正确?如何访问此类字段。请给我一些建议。

1 个答案:

答案 0 :(得分:1)

Ext.data.Model只知道它定义的字段。从in the documentation示例中可以清楚地看到这一点。

如果您希望消息可供您的视图使用,则还必须从您的模型中获取消息:

Ext.define('Balaee.model.sn.UserModel',{
    extend: 'Ext.data.Model',
    fields: ['userId', 'userName', 'password', 'message'],
    // ...
});