2个面板:
Ext.create('Ext.Container', {
fullscreen: true,
layout: 'hbox',
items: [
{
xtype: 'panel',
html: 'message list',
flex: 1,
items: [
{
xtype: 'list',
itemTpl: '{title}',
data: [
{ title: 'Item 1' },
{ title: 'Item 2' },
{ title: 'Item 3' },
{ title: 'Item 4' }
]
}
]
},
{
xtype: 'panel',
html: 'message preview',
flex: 3
}
]
});
Run Code Online (Sandbox Code Playgroud)
第一个面板列表对象中没有指定高度属性,因此无法显示.如何在xtype:'list'中设置100%的高度?
如何在列表的每一行中添加Sencha按钮?我在图像中添加了文本占位符来说明按钮的位置.

Ext.application({
launch: function() {
var view = Ext.Viewport.add({
xtype: 'navigationview',
items: [
{
xtype: 'list',
title: 'List',
itemTpl: '{name} [BUTTON]',
store: {
fields: ['name'],
data: [
{ name: 'one' },
{ name: 'two' },
{ name: 'three' }
]
},
listeners: {
itemtap: function(list, index, target, record) {
view.push({
xtype: 'panel',
title: record.get('name'),
html: 'This is my pushed view!'
})
}
}
}
]
});
}
});
当我使用命令构建我的sencha touch 2应用程序时: - sencha app build production
但它会抛出一个错误:
[INFO] Deploying your application to /Applications/MAMP/htdocs/iPadapp/build/production
[INFO] Copied sdk/sencha-touch.js
[INFO] Copied app.js
[INFO] Copied resources/css/app.css
[INFO] Copied resources/images
[INFO] Copied resources/icons
[INFO] Copied resources/loading
[INFO] Resolving your application dependencies...
[ERROR] Error thown from your application with message: TypeError: 'undefined' is not an object
Run Code Online (Sandbox Code Playgroud)
我在我的代码中跟踪了错误.我发现,这是由于加载我的清单.这是我的代码
Ext.define("myProject.store.Members",{
extend :'Ext.data.Store',
requires:"Ext.data.proxy.LocalStorage",
config: {
model :"myProject.model.Member",
sorters :'lastName',
autoload:true,
proxy: {
type: 'localstorage',
id : 'mainStore'
}
}
});
Run Code Online (Sandbox Code Playgroud)
如果我删除行'autoLoad:true'(这会破坏我的应用程序,然后我可以构建应用程序.但是我的列表没有加载.如果我把它重新发送错误重复.我尝试使用加载函数动态加载列表,但是它没有任何意义.
这是我有趣的model.js文件.
Ext.define('myProject.model.Member', {
extend: 'Ext.data.Model', …Run Code Online (Sandbox Code Playgroud) 我坚持一个我认为非常重要的问题.在简单的Sencha Touch应用程序中,我有很多观点.我的主视图是一个TabPanel,底部有对接图标.有时在我的应用程序中,我切换到Tabpanel之外的另一个视图.我不希望DOM重载视图,我不再需要了,所以我正在寻找解决方案来销毁视图,当它处于非活动状态时.我试过这个,同时在我的控制器中切换到另一个视图:
this.getMainview().destroy();
Run Code Online (Sandbox Code Playgroud)
似乎Mainview被删除但我收到一个错误:
Uncaught TypeError: Cannot read property 'dom' of null
Run Code Online (Sandbox Code Playgroud)
所以我想.destroy() - 方法有什么问题或是否有更好的方法来处理这个问题?
生成默认应用程序后:
sencha generate app Sencha ../Sencha
Run Code Online (Sandbox Code Playgroud)
我决定在iOS模拟器上测试应用程序
cd ../Sencha/
sencha app build native
Run Code Online (Sandbox Code Playgroud)
它加载应用程序但卡在加载图标上:

下面是主应用程序(App.js)的代码:
Ext.application({
name: 'Sencha',
requires: [
'Ext.MessageBox'
],
views: ['Main'],
icon: {
'57': 'resources/icons/Icon.png',
'72': 'resources/icons/Icon~ipad.png',
'114': 'resources/icons/Icon@2x.png',
'144': 'resources/icons/Icon~ipad@2x.png'
},
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('Sencha.view.Main'));
},
onUpdated: function() {
Ext.Msg.confirm(
"Application Update",
"This application has just successfully been …Run Code Online (Sandbox Code Playgroud) 我正在使用带有Google Map V3的Infobox(附图).在点击Infobox时,我想进入详细信息页面.但是我无法在信息框上添加点击监听器.这是我正在使用的代码:

这是我的信息框配置:
var ib = new InfoBox({
alignBottom : true,
disableAutoPan: false,
maxWidth: 0,
pixelOffset: new google.maps.Size(-125, -50),
zIndex: null,
closeBoxURL: "",
infoBoxClearance: new google.maps.Size(1, 1),
isHidden: false,
pane: "floatPane",
enableEventPropagation:false
});
Run Code Online (Sandbox Code Playgroud)
我添加了这个信息框的监听器:
google.maps.event.addListener(ib, 'domready', function() {
if(Ext.get(ib.div_)){
Ext.get(ib.div_).on('click', function(){
console.log('test on click')
}, this);
Ext.get(ib.div_).on('mousedown', function(){
console.log('test on click')
}, this);
}
});
Run Code Online (Sandbox Code Playgroud)
虽然enableEventPropagation = false,事件不会传播到MAP,但没有事件在信息框上工作.
虽然enableEventPropagation = true,事件(点击,mousedown)工作,但点击信息框的其他部分,它需要我映射或另一个标记.
不知道怎么解决这个问题?
我正在使用Sencha Touch 2.0.1为Android,iOS和Blackberry构建应用程序.
我有一个Form-Panel,有大约10个选择区和一些sextfields.如果我在Android 2.3或更高版本上运行应用程序,则选择字段显示为选择器.到现在为止还挺好.
当用户开始填写以textfields开头的表单时,他可以使用虚拟键盘上的下一个按钮浏览表单.问题是,下一个按钮会忽略选择域.用户必须点击选择字段.
我无法弄清楚如何获得拾取器元素的上一个和下一个按钮.因此,我只能使用下一个按钮而不是按"完成"并点击下一个选择字段来浏览表单.这对用户来说会更舒服.
所以对sencha论坛的支持并没有多大帮助,见下文:
http://www.sencha.com/forum/showthread.php?219636-Native-select-field-for-Android http://www.sencha.com/forum/showthread.php?205581-Can-I-use -iOS本地选取器,INSTEAD-OF-ST2选取器
据此,选择器有prev-next和next按钮:http://www.sencha.com/forum/showthread.php? 205159-Ext.picker.Date-with-no-prev-and-next- 按钮&p = 803794
但我找不到他们:-(
我认为,这个问题有两种解决方案:
我真的不敢相信,这在像Sencha Touch这样的大框架中是如此重要.
任何人都面临同样的问题并有一个有效的解决方案
我在Sencha Touch 2中使用旋转木马.我如何处理向左滑动和向右滑动的事件?
我搜索了很多文章,Sencha Touch and Phonegap但which framework is the better to integrate在开发我的Android应用程序时我无法判断.甚至我有很多不同的东西,Sencha Touch and Phonegap但它还不足以认识到哪个是更好的框架使用.
所以任何一个人都知道哪个好用.Sencha Touch OR Phonegap
我有一个控制器,我想将一个简单的字符串值传递给下一个View.
为此,我正在创建这样的视图.
var nextView = Ext.create('MyApp.view.NextView', {
content: 'value'
});
Ext.Viewport.add(nextView);
Ext.Viewport.animateActiveItem(nextView, {
type: 'slide',
direction: 'left'
});
Run Code Online (Sandbox Code Playgroud)
在NextView上,我有一个标签,我想HTML将标签的属性设置为我从控制器传递的值.即.value.
我的NextView看起来像这样.
Ext.define('MyApp.view.NextView', {
extend: 'Ext.form.Panel',
config: {
content: 'null',
items: [{
xtype: 'label',
html: 'value'
}]
}
});
Run Code Online (Sandbox Code Playgroud)
我不知道如何从这里开始.我不能将NextView作为表单.我只需要在这种情况下传递一个字符串值.
实现这一目标的最佳方法是什么?