Обновите угловые динамические компоненты через JSON - PullRequest
0 голосов
/ 10 сентября 2018

Я использую Angular 5 для своего приложения, и в своем приложении я создаю различные вложенные динамические компоненты, и эта вложенность может доходить до 4 уровней. например,

<GP-Component>
    <parentCOmponent>
        <component>
            <sub-component></sub-component>
        </component>
    </parentCOmponent>
</GP-Component>

и в действительности это выглядит так:

<GP-Component>
<parentCOmponent>
    <component>
        <div>
            <div addSubComponent [config]="fewCOnfiguration"></div>
        </div>
    </component>

    //@ comp-2
    <component>
        <div>
            <div addSubComponent [config]="fewCOnfiguration"></div>
        </div>
    </component>

    //@ comp-3
    <component>
        <div >
            <div addSubComponent [config]="fewCOnfiguration"></div>
        </div>
    </component>

    //@ compo-4
    <component>
        <div>
            <div addSubComponent [config]="fewCOnfiguration"></div>
        </div>
    </component>

    //@ compo-5
    <component>
        <div>
            <div addSubComponent [config]="fewCOnfiguration"></div>
        </div>
    </component>
</parentCOmponent>

Я поддерживаю данные через JSON, поэтому, когда я первоначально передаю JSON, он создает все на основе свойств, определенных в JSON, все работает нормально, но теперь я должен показывать пользователю B с обновлениями через определенные интервалы, когда пользователь A внесение изменений.

Мой вопрос : я могу обновить JSON и это тоже на родительском уровне, но как с обновленным JSON я могу показать изменения, потому что все, что я создал, является динамическим.

1 Ответ

0 голосов
/ 11 сентября 2018

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

Ответ:

Когда мне нужно обновить данные и показать их пользователю-B (своего рода автообновление) при получении новых данных, я устанавливаю новые данные в службу и:

this.ngOnDestroy();
//@ set data into a service
this.container.clear(); //@ container holding dynamic components
this.ngOnInit();

и работает нормально. Я просто беспокоюсь, что я использую опрос для получения данных с сервера, чтобы показать обновление пользователя B каждые 10 секунд, поэтому 6 раз в минуту я буду запускать цикл ngOnInit, и я не уверен, что это окажется дорогостоящим выполнение, потому что выполнение ngOnInit сбрасывает все, и все вложенные компоненты будут повторно инициализированы.

Заглядывая вперед, если кто-то предложит какую-либо лучшую оптимизацию (кроме сокращения опроса до 25-35 секунд)

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...