我正在开发一个Ember应用程序,并且很难理解我要构建的功能应该在哪里使用逻辑。它的功能是这样,我们正在显示可编辑标题的项目列表。理想的效果是,默认情况下<p>
,显示文本的区域是标签,但是单击编辑按钮时,标题变为文本字段,因此用户可以编辑标题并将其保存。
这是当前标题的模板,
{{#if track.isBeingEdited}}
{{ input value=track.title }}
{{else}}
{{ track.title }}
{{/if}}
我在想像这样的按钮
{{#if track.isBeingEdited}}
<button {{action updateTitle}}>Save Title</button>
{{else}}
<button {{action toggleEditState}}>Edit Title</button>
{{/if}}
当前,模型具有isBeingEdited
默认情况下设置为false的属性。我正在考虑将动作放在控制器中,这会将模型isBeingEdited
属性的值更改为true,或更改为false并触发新标题的保存。
我不确定是否isBeingEdited
应该在控制器中,这是一个Ember.ArrayController
。另外,单击按钮并将<p>
标签切换到文本区域的操作应该在控制器中还是应该创建一个组件?
您可能需要一个itemController
(请参阅文档)
那么您可以使用isBeingEdited
该项目控制器,并且在显示和编辑单个项目之间进行切换的操作track
也将在那里进行。
保存模型的动作将继续 route
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句