javascript - extjs 数据 View 不显示图像

标签 javascript image extjs gallery dataview

我想使用数据 View 显示一些图片。我有一个模型和一个带有 url 的商店。我的问题很简单,我配置了我的 xtype: 'dataview' 但不起作用并且没有显示任何错误。我做错了什么?

商店:

Ext.define('Proyecto.store.ST_PJdatos', {
    extend: 'Ext.data.Store',
    model: 'Proyecto.model.MD_PJdatos',

data: [
    { idPersonaje: 1, nombre: 'Aerie', retrato: 'http://img.picshare.at/1440990535_female_godlike_moon_jasonseow01_lg.png', arquetipo: 'Neutral', profesion: 'Mago', pv: 16, pa: 9, ps: 12, idAtributos: 1 },
    { idPersonaje: 2, nombre: 'Tybalt', retrato: 'http://img.picshare.at/1440990535_male_human_jasonseow03_lg.png', arquetipo: 'Neutral', profesion: 'Picaro', pv: 21, pa: 18, ps: 19, idAtributos: 2 },
    { idPersonaje: 3, nombre: 'Zojja', retrato: 'http://img.picshare.at/1440990535_N7bmTqw.png', arquetipo: 'Maligno', profesion: 'Clerigo', pv: 26, pa: 14, ps: 29, idAtributos: 3 },
    { idPersonaje: 4, nombre: 'Arcturus', retrato: 'http://img.picshare.at/1440990535_poe_beaverskin02_lg.png', arquetipo: 'Maligno', profesion: 'Caballero', pv: 31, pa: 27, ps: 10, idAtributos: 4 }
]
});

型号:

Ext.define('Proyecto.model.MD_PJdatos', {
extend: 'Ext.data.Model',

fields: [
    { name: 'idPersonaje', type: 'int' },
    { name: 'nombre', type: 'auto' },
    { name: 'retrato', type: 'auto' },
    { name: 'arquetipo', type: 'auto' },
    { name: 'profesion', type: 'auto' },
    { name: 'pv', type: 'int' },
    { name: 'pa', type: 'int' },
    { name: 'ps', type: 'int' },
    { name: 'idAtributos', reference: 'Proyecto.model.MD_PJatributos', unique: true } 


]
});

主视图:

Ext.define('Proyecto.view.main.Main', {
    extend: 'Ext.container.Container',
    requires: [
        'Proyecto.view.main.MainController',
        'Proyecto.view.main.MainModel'
    ],

    xtype: 'app-main',

    controller: 'main',
    viewModel: {
        type: 'main'
    },

    layout: {
        type: 'border'
    },

    items: [{
        xtype: 'panel',
        bind: {
            title: '{name}'
        },
        region: 'west',
        width: 250,
        split: true,
        items: [{
            xtype: 'dataview',
            store:  Ext.data.StoreManager.lookup('Proyecto.model.MD_PJdatos'),
            tpl: [
                '<tpl for=".">',
                    '<div class="thumb-wrap">',
                        '<div class="thumb"><img src="{retrato}"></div>',
                        '<span class="x-editable">{nombre}</span>',
                    '</div>',
                '</tpl>'
            ],
            itemSelector: 'div.thumb-wrap'
         }],
    },{
        region: 'center',
        xtype: 'tabpanel',
        items:[{
            title: 'Tab 1',
            html: '<h2>Content appropriate for the current navigation.</h2>'
        }]
    }]
});

最佳答案

首先,您将模型类名称传递给您的 StoreManager.lookup 调用,而不是商店类名称:

store:  Ext.data.StoreManager.lookup('Proyecto.model.MD_PJdatos')

然后,即使您传递了商店类名,它仍然无法工作,因为 StoreManager.lookup期望“Store 的 ID、Store 实例或商店配置” 但不是商店类名称。

将您的 StoreManager.lookup 调用替换为:

new Proyecto.store.ST_PJdatos

关于javascript - extjs 数据 View 不显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32303712/

相关文章:

html - 一种将文本 float 在具有不同容器宽度的图像顶部的更好方法

html - jpg 图像未在 HTML 中呈现

javascript - 错误消息 : DateField. getValue() 不是函数

javascript - 消除多次列出 href 的冗余

javascript - 如果输入为 NaN,如何使提示重复

javascript - 尝试将 http 响应分配给数据源时出现 Angular 表错误

java - Sencha Touch 使用 MSSQL 数据库进行登录验证

javascript - jQuery:防止动画和超时排队?

PHP 图片上传检查尺寸

javascript - 在 Sencha Touch 2.1 中按连字符后的第一个字母(如果存在)对列表进行排序和分组