Este é o template antigo que estou tentando eliminar e mover para um Glimmer Component
{{#if model.showLocationControls}}
{{add-location-controls
location=buffered.location
categoryId=buffered.category.id
}}
{{/if}}
Mais abaixo, há simplesmente um this.set("location", location); que parece exibir binding bidirecional.
Isso funciona bem.
Acessar o buffer com buffered fornece a conectividade necessária para passar as alterações de localização para cima.
O desafio surge ao usar um Glimmer Component de substituição:
export default class EditLocationDetails extends Component {
@action
updateLocation(location) {
this.args.outletArgs.buffered.location = location;
}
<template>
{{#if this.args.outletArgs.model.showLocationControls}}
<AddLocationControls
@location={{this.args.outletArgs.buffered.location}}
@category={{this.args.outletArgs.buffered.category}}
@updateLocation={{this.updateLocation}}
/>
{{/if}}
</template>
}
Agora o atributo pode ser atualizado, mas ele não permanece, presumivelmente porque é um argumento Glimmer de dados para baixo.
O que estou perdendo?
Existe uma ação que posso acessar que me permite passar a mudança para cima?