这是我试图消除并移至 Glimmer 组件的旧模板
{{#if model.showLocationControls}}
{{add-location-controls
location=buffered.location
categoryId=buffered.category.id
}}
{{/if}}
下面,有一个 this.set("location", location); 似乎表现出双向绑定。
这运行正常。
通过 buffered 访问缓冲区提供了将更改传递到位置的必要连接。
挑战在于使用替换的 Glimmer 组件时:
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>
}
现在可以更新属性,但它不会保留,可能因为它是一个数据向下 Glimmer 参数。
我错过了什么?
是否有我可以访问的动作可以让我传递更改?