changeItemTpl 动态依赖数据 jsonStore

changeItemTpl dynamically depending data jsonStore

我是Sencha ExtJS经典的初学者!

我需要将内容更改为dataview itemTpl。

这是我来自 jsonstore 的数据:

{
    success: true,
    items: {
        idTipoActividad: 1,
        Ejercicios: [{
            idimgCorrect: 1,
            nameAudio: 'brother-in-law',
            images: [{
                id: 1,
                filename: 'https://www.abc.es/Media/201308/01/1--644x362.jpg'
            }, {
                id: 2,
                filename: 'https://www.abc.es/Media/201308/01/1--644x362.jpg'
            }, {
                id: 3,
                filename: 'https://www.abc.es/Media/201308/01/1--644x362.jpg'
            }, {
                id: 4,
                filename: 'https://www.abc.es/Media/201308/01/1--644x362.jpg'
            }]
        }, {
            idimgCorrect: 2,
            nameAudio: 'Home',
            images: [{
                id: 1,
                filename: 'https://upload.wikimedia.org/wikipedia/commons/0/0d/SEAT_600_SIAM_2008.JPG'
            }, {
                id: 2,
                filename: 'https://upload.wikimedia.org/wikipedia/commons/0/0d/SEAT_600_SIAM_2008.JPG'
            }, {
                id: 3,
                filename: 'https://upload.wikimedia.org/wikipedia/commons/0/0d/SEAT_600_SIAM_2008.JPG'
            }, {
                id: 4,
                filename: 'https://upload.wikimedia.org/wikipedia/commons/0/0d/SEAT_600_SIAM_2008.JPG'
            }]
        }]
    }
}

Ejercicios 数组应该随点击按钮改变并显示在 itemTpl 中 这是我的 fiddle

使用 tpl 而不是 itemTpl 并将以下函数附加到 dataview:

setTemplate: function (template, itemSelector) {
    this.tpl = template;
    this.itemSelector = itemSelector;
    this.refresh();
}

并在您的 onBtnNextClick1 函数中使用它,如下所示:

refs.viewImages.setTemplate(tpl, 'div.container');

Working fiddle

注意:请查看fiddle中的AudioImagen3.jsMyWindow3ViewController4.js了解详细信息。 (我也更正了一些代码。)

希望这会 help/guide 你。