动态轮播内容不显示

Posted

技术标签:

【中文标题】动态轮播内容不显示【英文标题】:Dynamic Carousel Content does not show 【发布时间】:2012-09-28 15:55:49 【问题描述】:

我已经为此工作了好几天,但我有限的 JS 知识似乎伤害了我。

我正在我的 ST2 应用程序中创建一个动态 Ext.Carousel 组件,它基于 Store 文件的内容。

一切正常,但我还是会展示代码,这样就没有什么可以想象的了:

 Ext.getStore('DeviceStore').load(
            function(i) 


                  Ext.each(i, function(i) 
                        if (i._data.name == 'Audio Ring') 

                            var carousel = Ext.ComponentManager.get('speakerCarousel');

                            var items = [];
                            Ext.each(i.raw.speakers, function(speaker) 

                                items.push(
                                    sci: Ext.create('SmartCore.view.SpeakerCarouselItem', 
                                        speakerId: speaker.speakerid,
                                        speakerName: speaker.speakername,
                                        speakerEnabled: speaker.speakerenabled
                                    )
                                );


                            );
                            carousel.setItems(items);


                        
                  );
            )

现在,这会将适当数量的项目添加到轮播中。它们显示,但没有我指定的内容:

这是轮播本身:

Ext.define('SmartCore.view.SpeakerCarousel', 
    extend: 'Ext.Carousel',
    xtype: 'speakerCarousel',
    config: 
        id: 'speakerCarousel',
        layout: 'fit',
        listeners: 
            activeitemchange: function(carousel, item) 
                console.log(item);

            
        


    
);

这是项目类,我想将商店中的数据填充到:

Ext.define("SmartCore.view.SpeakerCarouselItem", 
    extend: Ext.Panel,

    xtype: 'speakerCarouselItem',

    config: 

        title:'SpeakerCarouselItem',
        stylehtmlContent: true,
        layout: 'fit'




    ,

    constructor : function(param) 


        this.callParent(param);
        this.add(
            
            layout: 'panel',
            style: 'background-color: #759E60;',

            html: 'hello'

            
        )

    
);

同样,轮播中显示了正确数量的项目 (11),但内容不可见,背景颜色也未更改。 当我在浏览器中检查 console.log(item) 时,项目在轮播对象内显示为 innerItems。

非常感谢任何帮助!

【问题讨论】:

没人能帮忙吗?我仍然坚持这个问题.. 【参考方案1】:

好吧,我自己修复了它,或者更好的是,我找到了一个似乎是我想要的解决方法。

我最终放弃了构造函数。

相反,我重写了“speakerName”键值对的应用方法。

从那里,我可以使用:

this._items.items[0]._items.items[i].setWhatever(...)

设置项目内的内容。

如果有人知道这样做的“真实”方法,我仍然非常感谢您的意见!

【讨论】:

以上是关于动态轮播内容不显示的主要内容,如果未能解决你的问题,请参考以下文章

marquee标签广告轮播内容显示不全问题

vue打包后,轮播图的动画内容位置显示不正确,且动画失效

小程序swiper轮播图不显示

图片轮播-swiper动态加载

Rails 应用程序中的引导轮播,显示所有图像,不显示缩略图。在轮播中显示数据库中的图像

UIScrollView 不显示动态添加的内容