我有一个带有 n 个小部件的轮播,一旦用户关注轮播的最后一项,我想将另外 n 个项目加载到轮播。我在轮播中添加了afteralign
事件侦听器以检测轮播项目之间的导航,并且在侦听器内部我创建了一个小部件并尝试使用appendChildWidget()
方法将其附加到当前轮播
_handleLazyLoading: function (evt) {
var selectedItem = evt.target.getActiveChildWidget().getDataItem();
if (selectedItem.page < selectedItem.totalPages) {
if (evt.target.getActiveChildIndex() === evt.target.getChildWidgetCount() - 3) {
var sampleData={"type":"VOD","id":1234,"accessLevel":"GRANTED","title":"sample","description":"A look back at all the Premier League action from the 31st of March 2018.","thumbnailUrl":"url of image","metaFields":{},"tags":
["review","match-round-32"],"watchProgress":0,"favourite":true,"duration":3098,"watchedAt":1522675749000}
var videoCard=new CommonVideoCard(sampleData);
evt.target.appendChildWidget(sampleData)
}
}
}
这就是我的事件监听器代码。我也检查了 dom,如果我在附加方法之后放置了一个断点,那么我可以在 dom 中看到数据,之后似乎特定轮播被卡住了,我无法导航到轮播中的其他项目。我只是尝试了removeWidget
一种方法,它有效。任何帮助将不胜感激。