0

モデルとストアのある煎茶タッチリストのチュートリアル/ソースコードを探しています。Sencha Touch 2.2.1 でいくつかの問題に直面しています。

モデル:

Ext.define("DeviceAPIFramework.model.OfferModel", {
    extend: "Ext.data.Model",
    config: {
        fields: [
            { name: "description",  type: "string" },
            { name: "id", type: "string" }
        ]
    }
});

店:

Ext.define("DeviceAPIFramework.model.OfferStore", {
    extend: "Ext.data.Store",
    config: {
        storeId: "offerStore",
        model:'DeviceAPIFramework.model.OfferModel'
    }
});

コントローラ:

offerStore.add({description: 'test', id: 'my id'});
Ext.ComponentQuery.query('#offersListHomeView')[0].update();

意見:

Ext.require("DeviceAPIFramework.model.OfferStore");
var offerStore = Ext.create("DeviceAPIFramework.model.OfferStore");

Ext.define ........... 
{
    xtype: 'list',
    width: Ext.os.deviceType == 'Phone' ? null : 1200,
    height: Ext.os.deviceType == 'Phone' ? null : 350,
    title: 'test',
    itemId: 'offersListHomeView',
    store: offerStore,
    itemTpl: '{description} {id}'
}

画像:

一覧イメージ

コントローラーからコードを実行すると、新しい行が追加されますが、リストの左上隅に奇妙な未定義のテキストも追加されます。この問題を解決する方法について何か提案はありますか?

また、ビューの外にある変数 offerStore も好きではありません。コントローラーに入れると、ビューがしつこいです。

4

1 に答える 1

0

undefined は次の行から来ています。

Ext.ComponentQuery.query('#offersListHomeView')[0].update();

update は破棄され (私が書いたのは、古い Sencha Touch バージョンで一度開発していて、この更新が必要だったからです)、setHtml() を呼び出します。私たちの見解。新しい sencha バージョンでは、この行を削除するだけです。

また、コントローラーで次のコードを使用して、グローバル ストアの問題を管理しました。

launch: function() {
    this.offersStore = Ext.create('Ext.data.Store', {
        model: 'DeviceAPIFramework.model.OfferModel'
    });

    Ext.ComponentQuery.query('#offersListHomeView')[0].setStore(this.offersStore);
},
于 2013-07-09T17:48:20.850 に答える