Sencha Touch - Componentes
Componente
Em termos normais, componente é algo em que podemos trabalhar no Sencha Touch. É a menor parte de um aplicativo que, combinada, forma o aplicativo inteiro. Cada elemento no Sencha Touch é um componente. O componente possui vários recursos, como eles podem ser mostrados ou ocultos, podem ser recolhidos e podem ser renderizados na página.
Recipiente
O contêiner no Sencha Touch também é um componente, porém um tipo especial de componente, pois permite adicionar outros componentes dentro dele. Como o nome sugere, container é o componente que contém vários componentes dentro dele. Junto com todas as funcionalidades de um componente, o container possui várias outras funcionalidades, como pode adicionar e remover componentes e decidir o layout.
Criação de um container
Sintaxe
Ext.create('Ext.Panel', {
html: 'About this app'
});
Exemplo
<!DOCTYPE html>
<html>
<head>
<link href = "https://cdn.sencha.com/touch/sencha-touch-2.4.2/resources/css/sencha-touch.css" rel = "stylesheet" >
<script type = "text/javascript" src = "https://cdn.sencha.com/touch/sencha-touch-2.4.2/sencha-touch-all.js"></script>
<script type = "text/javascript"> Ext.application({
name: 'Sencha', launch: function() {
Ext.create('Ext.Panel', {
fullscreen: true,layout: 'hbox',defaults: {
flex: 1
},
items: {
html: 'First Panel',style: 'background-color: #5E99CC;'
}
});
}
});</script>
</head>
<body>
</body>
</html>
Isso produzirá o seguinte resultado -
Adicionando componente
Syntax
container.add(component);
Exemplo de adição de componente ao contêiner
<!DOCTYPE html>
<html>
<head>
<link href = "https://cdn.sencha.com/touch/sencha-touch-2.4.2/resources/css/sencha-touch.css" rel = "stylesheet" >
<script type = "text/javascript" src = "https://cdn.sencha.com/touch/sencha-touch-2.4.2/sencha-touch-all.js"></script>
<script type = "text/javascript">
Ext.application({
name: 'Sencha',
launch: function() {
var aboutPanel = Ext.create('Ext.Panel', {
html: 'Newly added'
});
//this is the Panel we'll be adding to
var mainPanel = Ext.create('Ext.Panel', {
fullscreen: true, layout: 'hbox', defaults: {
flex: 1
},
items: {
html: 'First Panel',
style: 'background-color: #5E99CC;'
}
});
//now we add the first panel inside the second
mainPanel.add(aboutPanel);
}
});
</script>
</head>
<body>
</body>
</html>
Isso produzirá o seguinte resultado -
Ocultar e mostrar contêiner
Syntax
container.hide();
container.show();
Destruir contêiner
Syntax
container.destroy();