После недавнего обновления с 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')
}}
Кто-нибудь знает, где я могу пойти не так?