【问题标题】:How to make a component for modal box in emberjs?如何在 emberjs 中为模态框制作组件?
【发布时间】:2017-08-17 16:53:52
【问题描述】:

我想制作一个组件,它可以生成任意数量的传递给它的按钮。 现在,问题是如何将有关按钮的数据从模板传递到组件,以便在单击相应按钮时调用指定的操作。

【问题讨论】:

  • 将属性和操作传递给组件。 guides.emberjs.com/v2.14.0/components/…示例代码将有助于回答
  • 是的,但是如何在组件中不使用 {yield} 来制作按钮。如果我发送一个按钮名称和动作,它必须生成一个,如果是两个则两个,依此类推。
  • each helper 将迭代并创建按钮组件
  • 谢谢。例如,如果我有一个名为 modal-box 的组件。然后我写 {{modal-box button="yes" action="save" button="no" action="cancel" }}。但是如何在组件中获取这些属性并使用每个助手等进行迭代呢??
  • 是的。你可以结合each helper 和component helper 来渲染组件运行时

标签: ember.js ember-components


【解决方案1】:

您可以将按钮作为数组传递。这是如何渲染它们的示例。在组件的模板中:

{{#each buttons as |button|}}
    <button type="button"
            class="{{button.className}} button"
                onclick={{action button.action}}>
       {{button.text}}
    </button>
{{/each}}

然后,在模板中您要使用组件的地方:

{{your-component buttons=(array (className='green' text='Save' action=(action (mut variable) 'value')))}}

array 助手是ember-composable-helper 的一部分

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-23
    • 2012-12-12
    • 2010-10-04
    • 2015-08-08
    • 2019-06-01
    相关资源
    最近更新 更多