Ember:从控制器调用组件操作

时间:2016-04-22 13:22:11

标签: ember.js

我有一个组件工作得很好,现在我需要在控制器内调用它。

场景:我有一个ember应用程序,我有一个更新按钮控制器,我做了一个组件,只显示一个toast(Materialisecss),我将一些消息作为参数传递给组件,按钮和toast都正常工作好分开。我需要在按钮控制器内调用此组件,以便在用户使用此组件成功或不成功时向用户显示。我怎么能在控制器内调用这个组件呢?感谢

2 个答案:

答案 0 :(得分:0)

查看我创建的ember-twiddle,看看它是否符合您的意愿?

您应该不考虑“调用组件”,而是如何将更新的属性/数据推送到组件。

答案 1 :(得分:0)

Ember依赖于" Data Dow Actions Up"图案。这意味着您无法从控制器显式调用组件操作。 (例如,参见https://dockyard.com/blog/2015/10/14/best-practices-data-down-actions-up

相反,更好的设计应该是定义一个服务来管理数据:消息是"烘烤"。然后通过注入控制器使该服务可用。您将能够调用方法来注册新消息并生成新数据。

还提供一个组件模板(包含在您自己的模板中),负责显示新消息等。服务管理的数据中的每次更改都将导致组件模板更新。

你一定要看看https://www.npmjs.com/package/ember-toastr