2013-05-25 8 views
0

Я пытаюсь нарисовать круг, используя Senda's Ext.draw.Component в моем настраиваемом классе вида, но в нем нет никакого круга. Я вставил код для справки.Как создать круг в настраиваемом классе вида?

Я также попытался определить переменную компонента типа в моем основном классе, но при этом компилятор дал ошибку, указав, что компонент типа неизвестен.

// Главный класс

Ext.define('GS0.view.Main', { 
    extend: 'Ext.tab.Panel', 
    xtype: 'main', 
    requires: [ 
     'Ext.TitleBar', 
     'Ext.Video', 
     'Ext.Carousel', 
     'Ext.Container', 
     'Ext.draw.Component', 
     'Ext.Img' 
    ], 
    config: { 
     tabBarPosition: 'bottom', 

     items: [ 
      { 
       iconCls: 'home', 
       xtype: 'carousel', 
       ui  : 'dark', 
       direction: 'horizontal', 

       items: [ 
        { 
         xtype: 'draw', 
         type: 'circle', 
         radius: 50, 
         x: 100, 
         y: 100, 
         fill: '#2d2d2d' 
        }, 
        { 
         xtype: 'img', 
         src: 'images/nm.jpg' 
        } 
       ] 
      } 
     ] 
    } 
}); 


// Circle Class 
Ext.define('GS0.view.CC', { 
    extend: 'Ext.draw.Component', 
    xtype: 'cc', 

    config: { 
     type: 'circle', 
     cx: 100, 
     cy: 100, 
     r: 25, 
     fillStyle: 'blue' 
    } 
}); 

ответ

0

Попробуйте изменить вам в коде элементов

items: [{ 
    iconCls: 'home', 
    xtype: 'carousel', 
    ui  : 'dark', 
    direction: 'horizontal', 
    items: [{ 
     xtype: 'draw', 
     items:[{ 
      type: 'circle', 
      fill: '#79BB3F', 
      radius: 100, 
      x: 100, 
      y: 100 
     }] 
    },{ 
     xtype: 'img', 
     src: 'images/nm.jpg' 
    }] 
}] 

Круг GSO.view.Main должен быть добавлен в качестве элемента к xtype = рисовать блок.

+0

Ани Я сделал это, но он показывает мне следующее сообщение об ошибке: неперехваченный TypeError: Ожидая функцию в InstanceOf проверки, но получил # in surface.js – Mridul

+0

Хмм, что-то еще может вызвать проблему. Вот скрипка к рабочему примеру http://jsfiddle.net/blessenm/fmu9P/ – blessenm

+0

Ань скрипка совершенна, но все еще не может заставить ее работать. Btw, какую версию sencha вы используете? похоже, что это проблема с версией. Я использую версию sencha 2.2.1 с открытым исходным кодом. Circle.js находится внутри папки Sprite в пакете draw. – Mridul

0

Я думаю, что способ загрузки Main - это проблема. вот код. Вы можете обнаружить какую-либо ошибку. PS см линия Ext.viewport.add (Ext.create (GS0.view.main))

Ext.Loader.setPath({ 
    'Ext': 'touch/src', 
    'GS0': 'app' 
}); 
//</debug> 

Ext.application({ 
    name: 'GS0', 

    requires: [ 
     'Ext.MessageBox' 
    ], 

    views: [ 
     'Main' 
    ], 

    icon: { 
     '57': 'resources/icons/Icon.png', 
     '72': 'resources/icons/Icon~ipad.png', 
     '114': 'resources/icons/[email protected]', 
     '144': 'resources/icons/[email protected]' 
    }, 

    isIconPrecomposed: true, 

    startupImage: { 
     '320x460': 'resources/startup/320x460.jpg', 
     '640x920': 'resources/startup/640x920.png', 
     '768x1004': 'resources/startup/768x1004.png', 
     '748x1024': 'resources/startup/748x1024.png', 
     '1536x2008': 'resources/startup/1536x2008.png', 
     '1496x2048': 'resources/startup/1496x2048.png' 
    }, 

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

     // Initialize the main view 
     Ext.Viewport.add(Ext.create('GS0.view.Main')); 
    }, 

    onUpdated: function() { 
     Ext.Msg.confirm(
      "Application Update", 
      "This application has just successfully been updated to the latest version. Reload now?", 
      function(buttonId) { 
       if (buttonId === 'yes') { 
        window.location.reload(); 
       } 
      } 
     ); 
    } 
}); 
Смежные вопросы