我正在开发我的第一个余烬应用程序,但遇到组件问题。我有一条路线可以加载多个组件。每个都加载以下范例:
{{#each someList as |item|}}
<MyComponent @item={{item}} />
{{/each
进入路线时效果很好。但是,每次我离开页面并返回而没有刷新时,其中一个组件将再次呈现。
我是Ember的新手。我尝试使用组件生命周期挂钩来强制重新渲染,但没有成功。我也尝试设置一个变量来检查容器是否已经加载,但是在离开页面时会重置。
无法运作:
{{#each this.weapons as |weapon|}}
<CharacterWeaponDetail @weapon={{weapon}} />
{{/each}}
在职的:
{{#each (this.skills) as |skill| }}
<SkillDetail
@skill={{skill}}
@character={{charactersheet}}
@chrSkills={{chrSkills}}
@charParam={{charactersheet.id}}
@action="filter"
@unUsedSP={{this.unUsedSP}}
@realtimeSkillPoints={{realtimeSkillPoints}}
@filter={{charactersheet.profession.name}}/>
{{/each}}
说每个组件加载两次。第一次渲染时,结果如下所示:
<CharacterWeaponDetail />
<CharacterWeaponDetail />
<SkillDetail />
<SkillDetail />
这是预期的行为。但是,如果我使用{{link-to}}离开路线而没有完全刷新就返回,结果将如下所示:
<CharacterWeaponDetail />
<CharacterWeaponDetail />
<CharacterWeaponDetail />
<CharacterWeaponDetail />
<SkillDetail />
<SkillDetail />
每次页面加载<CharacterWeaponDetail />将再次重复。我该如何阻止这种情况的发生。
慕的地6264312
相关分类