以角度使用来自其他组件的警报消息

Blu*_*Cat 3 alert components click typescript angular

我在 Angular 4/5 中搜索了几个关于使用来自其他组件的函数/变量的示例。他们帮助我理解了一点,但我仍然无法找到解决问题的方法。

我想从另一个组件调用标准的 JavaScript警报

我有一个组件,它有一个这样的变量:

中心.ts

export class CenterPage {
  public message = new alert("Warning");
Run Code Online (Sandbox Code Playgroud)

中心.html

<products [message]="message"></products>
Run Code Online (Sandbox Code Playgroud)

我正在使用 @Input 来获取products.ts 中的消息

export class ProductsComponent {
  @Input() message;
Run Code Online (Sandbox Code Playgroud)

现在我想显示警报,当用户点击product.html 中的按钮时

<button (click)="message"></button>
Run Code Online (Sandbox Code Playgroud)

这似乎是错误的,我认为这不是我在用户单击按钮时尝试显示警报的正确方式。

我怎样才能正确地做到这一点?

编辑

这只是一个例子。最后,我将不得不在多个组件中调用相同的警报。所以我尝试只使用一个可以从所有组件调用的函数,这样我就不会有多余的代码。

Aer*_*er0 7

您应该将字符串放入您的组件而不是整个警报本身。之后,您可以在点击处理程序中调用警报。

仅将字符串传递给您的子组件。

export class CenterPage {
  public message = "Warning";
Run Code Online (Sandbox Code Playgroud)

在专用函数中处理点击。

<button (click)="myFunc"></button>
Run Code Online (Sandbox Code Playgroud)

在你的函数中做你的逻辑东西。

public myFunc() {
  alert(this.message);
}
Run Code Online (Sandbox Code Playgroud)