Ember - контекстный компонент не перерисовывается - PullRequest
0 голосов
/ 11 марта 2019

После недавнего обновления с Ember 2.15.0 до 3.7.0, одна из областей регрессии, по-видимому, заключается в том, что контекстный компонент, состоящий из хэша и помощников компонента Ember, не выполняет повторную визуализацию на основе обновлений prop компонента.

В следующем компоненте:

{{yield (hash
  flow-navigation=(component 'page/page-controls'
    on-prev=(action 'goToPrev')
    steps=linkedSteps
    activeStep=_activeStep
  )
  flow-step=(component _activeStep.path
    steps=linkedSteps
    activeStep=_activeStep
    bucket=bucket

    on-prev=(action 'goToPrev')
    on-next=(action 'goToNext')
    on-complete=(action 'finish')
    on-go-to-index=(action 'goToIndex')
  )
)}}

Метод жизненного цикла didUpdate вызывается с соответствующими реквизитами, однако он не отражается в пользовательском интерфейсе.

  didUpdate(){
    console.log('_activeStep', get(this, '_activeStep'));
  },

Перефразируя это как два компонента, используя только помощник component, пользовательский интерфейс обновляется, как и ожидалось, однако мы теряем большую гибкость, доступную при использовании другого подхода:


{{component 'page/page-controls'
    on-prev=(action 'goToPrev')
    steps=linkedSteps
    activeStep=_activeStep
}}

{{component _activeStep.path
    steps=linkedSteps
    activeStep=_activeStep
    bucket=bucket
    on-prev=(action 'goToPrev')
    on-next=(action 'goToNext')
    on-complete=(action 'finish')
    on-go-to-index=(action 'goToIndex')
}}

Кто-нибудь знает, где я могу пойти не так?

...