MVC数据存储 - WebORB,Sencha,Ext Js 4

时间:2013-05-17 15:19:09

标签: extjs sencha-touch-2 weborb

我正在尝试使用EXT JS 4,Sencha Touch 2.0和WebORB。

我想通过Ext动态地在Sencha Touch的MVC中构建一个商店。 我在下面的Index.html:

部分中调用了以下javascript函数
<script src="sencha-touch-all.js"></script>
                <script src="webORB.js"></script>
                <script>
                var dataFetched;
                var dataGet=function(){
        <!--  Class Name and URL are replaced in the original program-->
                this.proxy = webORB.bind("ClassName", "URL");
                    dataFetched=this.proxy.GetClassList(1301722);   
                //console.log(dataFetched);
            }
                </script>
                <script src="app.js">
</script>

以下是我的 app.js

Ext.Loader.setConfig({
    enabled: true

});
Ext.application({
    name: 'SBR',
    controllers: [
        'Main','Blog','Comments'
    ],
    views : [
    'Home','Blog', 'Comments'
],
    models : ['Comments'],
    stores: ['Comments'],
    launch: function(){
        dataGet();
        console.log(dataFetched);
        Ext.create('SBR.view.Viewport');
    }
});

以下是我的评论.js - 商店

Ext.define('SBR.store.Comments',{
    extend: 'Ext.data.Store',   
    config: {
        model: 'SBR.model.Comments',
        data: dataFetched
    }

});

以下是Comment.js - Model

Ext.define('SBR.model.Comments',{
        extend: 'Ext.data.Model',

        config: {
            //fields: ['subject','body']
            fields: ['bookImageUrl','authorFirstName','authorLastName']
        }
    })

以下是Comment.js - 查看

Ext.define('SBR.view.Comments',{
    extend: 'Ext.List',
    xtype: 'commentspage',
    config:{
        title: 'Comments',
        iconCls: 'star',
        //indexBar: true,
        store : 'Comments',
        itemTpl: '{authorLastName}',
        onItemDisclosure: function(item) {
            console.log('Disclose more info on' + " " + item.data.subject);
        }
    }
});

如果我使用静态Json数据定义商店,它工作正常,但是当我尝试使用WebORB访问它时,它没有。

控制台条目在向控制台显示数据之前完成。为什么它没有在评论视图中显示任何数据,或者我的方法对于通过WebORB收集和加载数据到商店是完全错误的?

1 个答案:

答案 0 :(得分:0)

哦,是的......我明白了......

我刚刚更改了以下内容:

  1. 我将函数dataget()从index.html传输到Comments.js-Store,并在同一文件的配置中调用相同的函数,如:
  2. data:dataGet()

    多数民众赞成......它有效......