Как отдать другое представление относительно отбора счетов в расширении js4?

1) У меня есть json файл, который я хочу показать в поле зрения.

{           
    "contents": [
                {
                    "title":'JWorld',
                    "image":'image/e-learning/elearning.png',

                    "subtitle":[
                    {
                        "categories":'Aus',
                    },
                    {
                        "categories":'England',
                    }                
                    ]
                },
                {
                    "title":'JIndia',
                    "image":'image/Content/History_of_India.jpg',
                    "subtitle":[
                    {
                        "categories":'History',
                    },
                    {
                        "categories":'India palace',
                    }                
                    ]
                },
                {
                    "title":'JMaharastra',
                    "image":'image/Content/Geography.jpg',
                    "subtitle":[
                    {
                        "categories":'History Maharastra',
                    },
                    {
                        "categories":'Maharastra Heros',
                    }                
                    ]
                }
              ]
}

2) Мой файл представления:-

Ext.define('Balaee.view.kp.dnycontentcategories.ContentcategoriesView',
{
    extend:'Ext.view.View',
    id:'contentcategoriesViewId',
    alias:'widget.ContentcategoriesView',
    store:'kp.DnycontentcategoriesStore',
    config:
    {
        tpl:''+
                '<div class="main">'+
                '
'+ '{title}
'+ '
'+ '</div>'+ '', itemSelector:'div.main', } });// End of class

3) я использую группу счета и динамично добавляю счета в ней, используя json файл.

Ext.define('Balaee.view.kp.dnycontentcategories.Contentcategories',{
    extend:'Ext.tab.Panel',
    requires:[
              'Balaee.view.kp.dnycontentcategories.ContentcategoriesView','Balaee.view.kp.dnycontentcategories.ContentcategoriesView1'
             ],
    id:'contentcategoriesId',
    alias:'widget.Contentcategories',
    height:500,
    items:[

    ],//end of items square
});// End of login class

4) Мой магазин file:-

Ext.define('Balaee.store.kp.DnycontentcategoriesStore',{
    extend: 'Ext.data.Store',
    model: 'Balaee.model.kp.DnycontentcategoriesModel',
    autoLoad:true,
//    filters: [{
//        property: 'title',
//    }],
    proxy:
    {
        type:'ajax',
        api:
        {
            read:'data/content.json',
            //create: ,
            //update: ,
            //destroy: ,
        },//End of api 
        reader:
        {
            type:'json',
            root:'contents',
            //successProperty: ,
        }//End of reader
    }//End of proxy
});//End 

5) Мой файл Диспетчера некоторый код здесь я динамично добавляю некоторые счета от json файла. И выбирая конкретный счет я хочу различные конкретные ценности от json файла. Но я получаю то же самое представление о первом счете. Как я могу решить эту проблему.

init: function(){
    console.log("inside content controller");
    this.control({
        'Contentcategories':
        {
            render:this.renderFunction,
        }
    });//End of control
},//End of init() function
renderFunction:function(){
    console.log("Inside render function");
    var tabPanel = Ext.getCmp('contentcategoriesId');      //tabpanel  
    var tabPanelView = Ext.getCmp('contentcategoriesViewId');  //tabpanel view

    var storeObject= this.getStore('kp.DnycontentcategoriesStore');//store
    storeObject.on('load',function(){
        storeObject.each(function(model){
            //tabPanelView.store().filter('title',model.get('title')),
            console.log(model.get('title'));
            console.log(model.get('categories'));
            tabPanel.add({title:model.get('title'),
                            id:model.get('title'),
                            //html:"",
                            xtype:'ContentcategoriesView',              
                        }); //End of add function 
        });// End of storeObject function
        tabPanel.setActiveTab(0);
    });
},// End of render function 

пожалуйста, дайте мне некоторое предложение.

0
nl ja de
Нет. Кодирование работает, но оно показывает то же самое представление когда я chaging счет.
добавлено автор Pravin Mane, источник
Да вы правы. Но я хочу сгруппировать данные в json файле в diiferent счете. Как я могу сделать это?
добавлено автор Pravin Mane, источник
вы получаете какую-либо ошибку?
добавлено автор Avinash T., источник
Я думаю, это происходит, потому что вы передали общий kp. DnycontentcategoriesStore к каждому ContentcategoriesView
добавлено автор Avinash T., источник

1 ответы

Есть несколько проблем с вашим кодом.

Вы определяете ContentcategoriesView - это - компонент, который вы расширили; но вы даете ему id ( contentcategoriesId ) все же, вы создаете больше чем один из этих компонентов - это не имеет никакого смысла, поскольку id должен быть уникальным за составляющий случай.

Затем вы прилагаете магазин к этому представлению, что означает, что все компоненты отдадут то же самое.

Если я понимаю правильно, что вы хотите, чтобы каждый вход в вашем json стал различным счетом.

Я взял бы это направление (код, не проверенный, но должен дать вам направление):

Ext.define('Balaee.view.kp.dnycontentcategories.ContentcategoriesView',
{
    extend:'Ext.panel.Panel',//Notice it's a panel.
    alias:'widget.ContentcategoriesView',

    config:
    {
        tpl: '<div class="main">' +
             '
' + '{title}
' + '
' + '</div>' itemSelector:'div.main', } });

И затем:

storeObject.on( 'load',function() {
    storeObject.each( function( model ) {
        tabPanel.add({
            xtype: 'ContentcategoriesView',
            title: model.get( 'title' ),
            id:    model.get( 'title' ),
            data:  model
        }); 
    });
    tabPanel.setActiveTab(0);
});
0
добавлено
благодарит, дают мне предложение. Я работал в вашем направлении. Я изменил свой код, но он не показывает изображения в представлении, когда я изменяю счет. Я получаю запрещенное сообщение на пульте->>/Balaee/height = % 2250%22 403 (Запрещенный)
добавлено автор Pravin Mane, источник
Ваш img путь правилен? Это относительно вашего index.html...
добавлено автор Izhaki, источник
JavaScript Jobs — чат
JavaScript Jobs — чат
8 336 участник(ов)

JavaScript Jobs — чат для поиска работы и людей Правила оформления: https://teletype.in/@telegram-ru/r1WQe5F1m См. также: @mobile_jobs, @devops_jobs, @nodejs_jobs, @react_js, @angular_ru, @js_ru

JavaScript.ru
JavaScript.ru
7 932 участник(ов)

Сообщество сайта JavaScript.ru в Slack.

pro.js
pro.js
4 675 участник(ов)

Про JavaScript и NodeJS Invite: https://t.me/joinchat/Be4rsT5Rsgq30DHutjxXgA Правила: http://telegra.ph/ru-chat-rules-06-19 Вакансии только с ЗП, не чаще раза в неделю.

phpGeeks
phpGeeks
3 620 участник(ов)

Best PHP chat Еще: @dbGeeks - базы данных @phpGeeksJunior - новичкам @moscowProgers - IT Москва @ebanoePhp - весёлый канал о PHP @laravel_pro - Laravel @jobGeeks - вакансии @jsChat - JS Правила: https://t.me/phpGeeks/764859 ДР - 28.03.2016

JavaScript — русскоговорящее сообщество
JavaScript — русскоговорящее сообщество
3 269 участник(ов)

Рекомендуем сразу отключить уведомления Правила: https://rudevs.network/ByaMH6un7 См. также: @js_noobs_ru, @nodejs_ru, @typescript_ru, @react_js, @electron_ru Вакансии и поиск работы: @javascript_jobs

JavaScript Noobs — сообщество новичков
JavaScript Noobs — сообщество новичков
2 484 участник(ов)

Чат для новичков

PHP
PHP
1 309 участник(ов)

Группа про современный PHP. Обсуждаем ООП, TDD, BDD, DDD, SOLID, GRASP и прочие крутые базворды Для ознакомления: https://gist.github.com/mkusher/711bd46f0b62fbae851182e6fb3b1839 Группа PHP для новичков @phpGeeksJunior Вакансии: https://t.me/fordev

PHP — вакансии, поиск работы и аналитика
PHP — вакансии, поиск работы и аналитика
1 251 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению PHP, Laravel, Symfony, Yii и т.д. Здесь всё: full-time, part-time, remote и разовые подработки. См. также: @qa_jobs, @devops_jobs, @javascript_jobs, @nodejs_jobs, @uiux_jobs, @products_jobs

phpGeeksJunior
phpGeeksJunior
980 участник(ов)

Группа для новичков. Не стесняйтесь задавать вопросы по php. Не флудить!!!! Правила и полезные ссылки https://gist.github.com/exileed/a53dd0617b35a705ff44b38c8028e6a5 Бест от пхпгикс https://t.me/best_of_phpgeeks

javascript_ru
javascript_ru
915 участник(ов)

Сообщество любителей самого популярного языка программирования в мире. Чат основан в 2009 году. Логи: https://goo.gl/9EOeM7 Поддержка бота: @chat_linker (ссылка на репу внутри) Вам будут интересны @frontend_ru и @css_ru

phpclub.ru
phpclub.ru
872 участник(ов)

Официальный чат phpclub.ru - остерегайтесь подделок #rules Правила группы - уважайте друг друга. Скриншоты -> ссылками. Код -> pastebin.com. Вакансии строго -> https://goo.gl/4bNxym, в чат ссылку. За рекламу и мат - БАН!

jsChat
jsChat
603 участник(ов)

Чат посвященный программированию на языке javaScript Перед отправкой ссылки на Ваш контент посоветуйтесь с админом Все ссылки удаляются ботом автоматически

JavaScript for Zombies Chat
JavaScript for Zombies Chat
492 участник(ов)

Чат про JavaScript для настоящих zombie! Вход строго по приглашениям! Ссылка для строгих приглашений: https://t.me/joinchat/AAMBHz3Uyr0tuZ7VaB029g

All That JS
All That JS
417 участник(ов)

JS на русском

Devall | PHP
Devall | PHP
272 участник(ов)

Пристанище для восходящих звёзд разработки, которые перейдут на более адекватные языки. http://combot.org/chat/-1001014863761 Инвайт: j.mp/devallphp