标签: sencha-touch-2

sencha touch 2 list 100%height

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-touch-2

7
推荐指数
1
解决办法
8621
查看次数

如何为列表的每一行添加一个按钮?

如何在列表的每一行中添加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

7
推荐指数
2
解决办法
7313
查看次数

构建Sencha Touch 2应用程序时出错

当我使用命令构建我的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)

javascript load list sencha-touch sencha-touch-2

7
推荐指数
1
解决办法
2539
查看次数

如何在Sencha Touch中销毁非活动视图

我坚持一个我认为非常重要的问题.在简单的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() - 方法有什么问题或是否有更好的方法来处理这个问题?

extjs sencha-touch sencha-touch-2

7
推荐指数
2
解决办法
2万
查看次数

Sencha触摸2本机构建不加载

生成默认应用程序后:

sencha generate app Sencha ../Sencha
Run Code Online (Sandbox Code Playgroud)

我决定在iOS模拟器上测试应用程序

cd ../Sencha/
sencha app build native
Run Code Online (Sandbox Code Playgroud)

它加载应用程序但卡在加载图标上: Sencha iOS app卡在加载屏幕上

下面是主应用程序(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)

javascript json ios sencha-touch-2

7
推荐指数
1
解决办法
3065
查看次数

无法在Google地图信息框上添加活动

我正在使用带有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)工作,但点击信息框的其他部分,它需要我映射或另一个标记.

不知道怎么解决这个问题?

javascript-events google-maps-api-3 sencha-touch-2 infobox

7
推荐指数
1
解决办法
5130
查看次数

Sencha Touch 2中拾取器的上一个和下一个按钮

我正在使用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

但我找不到他们:-(

我认为,这个问题有两种解决方案:

  1. 按照上面第一个链接中的建议访问本机选择器.问题是如何?
  2. 使用上一个和下一个按钮实现自己的Picker-Element.对于这样一项基本任务来说,这似乎是一个巨大的努力.

我真的不敢相信,这在像Sencha Touch这样的大框架中是如此重要.

任何人都面临同样的问题并有一个有效的解决方案

picker next virtual-keyboard sencha-touch-2

7
推荐指数
1
解决办法
882
查看次数

处理Sencha Touch 2中的滑动事件

我在Sencha Touch 2中使用旋转木马.我如何处理向左滑动和向右滑动的事件?

swipe carousel sencha-touch-2

7
推荐指数
1
解决办法
5982
查看次数

哪一个更适合使用Sencha Touch或phonegap for android?

我搜索了很多文章,Sencha Touch and Phonegapwhich framework is the better to integrate在开发我的Android应用程序时我无法判断.甚至我有很多不同的东西,Sencha Touch and Phonegap但它还不足以认识到哪个是更好的框架使用.
所以任何一个人都知道哪个好用.Sencha Touch OR Phonegap

javascript html5 android sencha-touch-2 cordova

7
推荐指数
1
解决办法
8335
查看次数

将数据从控制器传递到另一个视图,并在sencha touch中设置标签的值

我有一个控制器,我想将一个简单的字符串值传递给下一个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作为表单.我只需要在这种情况下传递一个字符串值.

实现这一目标的最佳方法是什么?

extjs sencha-touch-2

7
推荐指数
1
解决办法
7689
查看次数