0

Sencha Touch と Ext.draw.Component を使用して画面にキャンバスを描画しようとしています。私は何もレンダリングすることができませんでした。

これは私のメイン ビューで、初期ビューとして設定されています。

Ext.define('Booking.view.panelOne', {
    extend: 'Ext.Panel',
    alias: 'widget.panelOne',
    requires: [
        'Booking.view.drawComponent'
    ],
    config: {
        itemId: 'panelOne',
        ui: 'light',
        layout: {
           type: 'card'
        },
        scrollable: 'horizontal',
        items: [
            {
                xtype: 'drawComponent'
            }
        ]
    }
});

これは、基本的な形状を画面にレンダリングするために使用しようとしている draw.Component のコードです。

Ext.define('Booking.view.drawComponent', {
    extend: 'Ext.draw.Component',
    alias: 'widget.drawComponent',

    config: {
        docked: 'left',
        height: '100%',
        itemId: 'myComponent',
        width: '100%'
    },

    initialize: function() {
        this.callParent();

        Booking.view.drawComponent.getSurface('main').add({
            type: 'circle',
            fill: '#79BB3F',
            radius: 100,
            x: 100,
            y: 100
        }).show(true);

        Booking.view.drawComponent.surface.add({
            type: 'circle',
            fill: '#000',
            radius: 100,
            x: 300,
            y: 300
        }).show(true);
    }

});

私はこれに非常に当惑しており、非常に不快だと感じています。どんな助けでも大歓迎です、ありがとう。

4

2 に答える 2

1

Booking.view.drawComponent の代わりに getSurface メソッドを使用する

this.getSurface('main').add({
    type: 'circle',
    fill: '#79BB3F',
    radius: 100,
    x: 100,
    y: 100
}).show(true);

ここにフィドルへのリンクがあります。

于 2013-05-03T17:14:01.680 に答える
0

Booking.view.drawComponentsurface属性を持っていません。したがって、addメソッドを呼び出すとBooking.view.drawComponent.surfaceエラーがスローされます。

ここで動作デモを参照してください

于 2013-05-03T16:56:08.527 に答える