Sencha Touch `directionLock` - 我哪里出错了?

发布于 2025-01-04 22:09:13 字数 3944 浏览 0 评论 0原文

我已经定义了一个轮播。

Ext.define('rpc.view.bible.indexView', {    
    extend: 'Ext.Carousel',
    alias: 'widget.bible-indexView',
    direction: 'horizontal',
    directionLock: true,
    config: {
        items: [{
            xtype: 'toolbar',
            title: 'Bible Reading Plan',
            docked: 'top'
        }, {
            xtype: 'bible-_chapterADayView'
        }, {
            xtype: 'bible-_bibleInAYearView'
        }]
    },
    initialize: function() {
        console.log('rpc.view.bible.indexView ~ initialize');
        this.callParent();
    }
});

bible-_chapterADayViewbible-_bibleInAYearView 都是扩展 Ext.Panel 的部分视图。

它们按预期工作,但是我在 这个错误报告仍然存在,即使我已经实现了方向锁定

我的 DirectionLock 实现哪里出了问题?


我也尝试过以下两种方法。

Ext.define('rpc.view.bible.indexView', {    
    extend: 'Ext.Carousel',
    alias: 'widget.bible-indexView',
    config: {
        scrollable: {
            direction: 'horizontal',
            directionLock: true
        },
        items: [{
            xtype: 'toolbar',
            title: 'Bible Reading Plan',
            docked: 'top'
        }, {
            xtype: 'bible-_chapterADayView'
        }, {
            xtype: 'bible-_bibleInAYearView'
        }]
    },
    initialize: function() {
        console.log('rpc.view.bible.indexView ~ initialize');
        this.callParent();
    }
});

Ext.define('rpc.view.bible.indexView', {    
    extend: 'Ext.Carousel',
    alias: 'widget.bible-indexView',
    scrollable: {
        direction: 'horizontal',
        directionLock: true
    },
    config: {
        items: [{
            xtype: 'toolbar',
            title: 'Bible Reading Plan',
            docked: 'top'
        }, {
            xtype: 'bible-_chapterADayView'
        }, {
            xtype: 'bible-_bibleInAYearView'
        }]
    },
    initialize: function() {
        console.log('rpc.view.bible.indexView ~ initialize');
        this.callParent();
    }
});

I've got a carousel defined.

Ext.define('rpc.view.bible.indexView', {    
    extend: 'Ext.Carousel',
    alias: 'widget.bible-indexView',
    direction: 'horizontal',
    directionLock: true,
    config: {
        items: [{
            xtype: 'toolbar',
            title: 'Bible Reading Plan',
            docked: 'top'
        }, {
            xtype: 'bible-_chapterADayView'
        }, {
            xtype: 'bible-_bibleInAYearView'
        }]
    },
    initialize: function() {
        console.log('rpc.view.bible.indexView ~ initialize');
        this.callParent();
    }
});

both the bible-_chapterADayView and the bible-_bibleInAYearView are partial views that extend the Ext.Panel.

They're working as expected, however the scrolling issue that I had in this bug report still exists even though I have implemented directionLock.

Where am I going wrong with my directionLock implementation?


I've also tried the following two methods.

Ext.define('rpc.view.bible.indexView', {    
    extend: 'Ext.Carousel',
    alias: 'widget.bible-indexView',
    config: {
        scrollable: {
            direction: 'horizontal',
            directionLock: true
        },
        items: [{
            xtype: 'toolbar',
            title: 'Bible Reading Plan',
            docked: 'top'
        }, {
            xtype: 'bible-_chapterADayView'
        }, {
            xtype: 'bible-_bibleInAYearView'
        }]
    },
    initialize: function() {
        console.log('rpc.view.bible.indexView ~ initialize');
        this.callParent();
    }
});

and

Ext.define('rpc.view.bible.indexView', {    
    extend: 'Ext.Carousel',
    alias: 'widget.bible-indexView',
    scrollable: {
        direction: 'horizontal',
        directionLock: true
    },
    config: {
        items: [{
            xtype: 'toolbar',
            title: 'Bible Reading Plan',
            docked: 'top'
        }, {
            xtype: 'bible-_chapterADayView'
        }, {
            xtype: 'bible-_bibleInAYearView'
        }]
    },
    initialize: function() {
        console.log('rpc.view.bible.indexView ~ initialize');
        this.callParent();
    }
});

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

冷默言语 2025-01-11 22:09:14

经过大量测试后,如果 scrollable 附加到partialView而不是carousel,它似乎可以正常工作。

Ext.define('rpc.view.bible.indexView', {
    extend: 'Ext.Carousel',
    alias: 'widget.bible-indexView',
    config: {
        items: [{
            xtype: 'toolbar',
            title: 'Bible Reading Plan',
            docked: 'top'
        }, {
            xtype: 'bible-_chapterADayView'
        }, {
            xtype: 'bible-_bibleInAYearView'
        }]
    },
    initialize: function () {
        console.log('rpc.view.bible.indexView ~ initialize');
        this.callParent();
    }
});


Ext.define('rpc.view.bible._bibleInAYearView', {
    extend: 'Ext.Panel',
    alias: 'widget.bible-_bibleInAYearView',
    config: {

        // ADD THE SCROLLABLE INFO HERE TO ACHIEVE THE DESIRED RESULT
        scrollable: {
            direction: 'vertical',
            directionLock: true
        },


        items: [{
            html: '<span style="float:right;"><i>Swipe for Chapter a Day</i><div class="x-icon-swipe x-icon-swipe-right"></div></span>'
        }, {
            xtype: 'container',
            cls: 'x-panel-rpc',
            items: [{
                html: '<h1>Bible in a Year</h1><i>Reading Plan</i>'
            }]
        }, {
            xtype: 'container',
            cls: 'x-panel-rpc',
            items: [{
                html: 'Rockin the lower info panel<br><br><br><br><br><br><br><br>more info<br><br><br><br>end'
            }]
        }]
    },
    initialize: function () {
        console.log('rpc.view.bible._bibleInAYearView ~ initialize');
        this.callParent();
    }
});

After much testing, it appears as though it works properly if the scrollable is attached to the partialView rather than the carousel.

Ext.define('rpc.view.bible.indexView', {
    extend: 'Ext.Carousel',
    alias: 'widget.bible-indexView',
    config: {
        items: [{
            xtype: 'toolbar',
            title: 'Bible Reading Plan',
            docked: 'top'
        }, {
            xtype: 'bible-_chapterADayView'
        }, {
            xtype: 'bible-_bibleInAYearView'
        }]
    },
    initialize: function () {
        console.log('rpc.view.bible.indexView ~ initialize');
        this.callParent();
    }
});


Ext.define('rpc.view.bible._bibleInAYearView', {
    extend: 'Ext.Panel',
    alias: 'widget.bible-_bibleInAYearView',
    config: {

        // ADD THE SCROLLABLE INFO HERE TO ACHIEVE THE DESIRED RESULT
        scrollable: {
            direction: 'vertical',
            directionLock: true
        },


        items: [{
            html: '<span style="float:right;"><i>Swipe for Chapter a Day</i><div class="x-icon-swipe x-icon-swipe-right"></div></span>'
        }, {
            xtype: 'container',
            cls: 'x-panel-rpc',
            items: [{
                html: '<h1>Bible in a Year</h1><i>Reading Plan</i>'
            }]
        }, {
            xtype: 'container',
            cls: 'x-panel-rpc',
            items: [{
                html: 'Rockin the lower info panel<br><br><br><br><br><br><br><br>more info<br><br><br><br>end'
            }]
        }]
    },
    initialize: function () {
        console.log('rpc.view.bible._bibleInAYearView ~ initialize');
        this.callParent();
    }
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文