动态轮播内容不显示
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(...)
设置项目内的内容。
如果有人知道这样做的“真实”方法,我仍然非常感谢您的意见!
【讨论】:
以上是关于动态轮播内容不显示的主要内容,如果未能解决你的问题,请参考以下文章