如何解决如何在 Ember 3.x 中通过控制器操作以编程方式添加组件
我想通过js添加一个组件的多个副本并在其中传递不同的参数。代码应该通过点击模板中的按钮的控制器动作来执行。 2.x 的解决方案在 Ember 版本 3.x(pre-octane) 中不起作用。任何人都可以请帮忙。我无法呈现纯 html,因为我在组件中使用了 ember 的其他插件。
解决方法
基本上,您需要一个包含 js 中的 params 的数组,然后是一个调用组件的 {{#each
循环。像这样:
@tracked componentParams = new TrackedArray();
@action showThem() {
this.componentParams.push({ value="foo" });
this.componentParams.push({ value="bar" });
this.componentParams.push({ value="baz" });
}
{{#each this.componentParams as |params|}}
<MyComponent @value={{params.value}} />
{{/each}}
<button type="button" {{on "click" this.showThem}}>Show Them</button>
(这使用来自 tracked-built-ins
的 TrackedArray
)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。