javascript - Sencha touch 从 json 获取数据

标签 javascript extjs sencha-touch sencha-touch-2 sencha-touch-2.3

最近我尝试使用sencha touch从json文件中获取数据,但它显示0结果,请引用下面的编码并告诉我我的错误,

谢谢

app.js

Ext.application({
name: 'TP',

views: [
    'Main'
],

models: [
    'User'
],

stores: [
    'Users'
],

launch: function() {
    // Destroy the #appLoadingIndicator element
    Ext.fly('appLoadingIndicator').destroy();

    // Initialize the main view
    Ext.Viewport.add(Ext.create('TP.view.Main'));

    var user = Ext.create('TP.model.User', {
        name: 'James Henry',
        age: 24,
        phone: '555-555-5555',
        username: 'Admin'
    });

    Ext.getStore('Users').on('load', this.onStoreLoad, this);
    console.log(Ext.getStore('Users'));
},

onStoreLoad: function(self, records, success, operation){
    console.log(self);
}
});

模型::User.js

Ext.define('TP.model.User',{
extend: 'Ext.data.Model',

config: {
    fields: [
        {name: 'name', type: 'string'},
        {name: 'age', type: 'int'},
        {name: 'phone', type: 'string'},
        {name: 'gender', type: 'string'},
        {name: 'username', type: 'string'},
        {name: 'alive', type: 'boolean', defaultValue: true}
    ],
    validations: [
        {type: 'presence', field: 'age'},
        {type: 'length', field: 'name', min: 2},
        {type: 'inclusion', field: 'gender', list: ['Male', 'Female']},
        {type: 'exclusion', field: 'username', list: ['Admin', 'Operator']},
        {type: 'format', field: 'username', matcher: /^[A-Za-z0-9 _]*$/ }
    ],
},

ageString: function(){
    var age = this.get('age');
    if(age > 1) {
        return age + " yesrs old";
    }else{
        return age = " Yes old";
    }
}
});

商店::Users.js

Ext.define('TP.store.Users', {
extend: 'Ext.data.Store',

config: {
    model: 'TP.model.User',
    autoload: true,
    proxy: {
        type: 'ajax',
        url: 'http://localhost/sencha/SenchaStarter/data/users.json',
        reader: {
            rootProperty: 'users',
            type: 'json'
        }
    }
}
});

JSON 文件 users.json

{
"users": [
    {
        "name": "Mike Henderson",
        "age": 24,
        "phone": "555-555-555",
        "gender": "Male",
        "username": "mhenderson",
        "alive": true
    },
    {
        "name": "Sally Michael",
        "age": 34,
        "phone": "555-555-555",
        "gender": "Female",
        "username": "sallym",
        "alive": true
    },
    {
        "name": "Rory Muldoon",
        "age": 19,
        "phone": "555-555-555",
        "gender": "Male",
        "username": "greatscott",
        "alive": true
    }
]
}

最佳答案

商店尚未加载,因为您尚未加载。原因是您在商店中编写此配置选项时出现拼写错误:

autoload

当需要时:

autoLoad

关于javascript - Sencha touch 从 json 获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22681049/

相关文章:

javascript - 动态添加输入字段,但字段由外部 PHP 函数生成

javascript - 站点覆盖的最佳开源蜘蛛

javascript - 如何改变铯中的光标?

javascript - Sencha 触摸2 : How to FIlter on a Association's Store?

sencha-touch - 在 Sencha Touch 中加载关联数据而不嵌套

javascript - 如何使用 jquery 将 .xml 数据提取到 html 中?

javascript - Jquery 不允许按下按钮

extjs - 我们可以在 sencha touch 中将转换后的 Base64 图像调整为自定义尺寸吗

javascript - 使用 EXTJS、JAVASCRIPT 在新选项卡(FireFox 和 IE 8)中打开 pdf

javascript - 如何自定义actionSheet和actionSheet按钮的extjs大小?