Aurelia 在组件外部调用组件函数

Aurelia 在组件外部调用组件函数,aurelia,Aurelia,在Aurelia中,假设我有一个名为popup的自定义组件,上面有一个open和close方法。我可以在组件中调用这些方法,但如何从组件外部调用它们 app.html: <template> <require from="popup"></require> Pop-up test <popup> <popup-body> <button click.trigger="close()">Clo

在Aurelia中,假设我有一个名为popup的自定义组件,上面有一个
open
close
方法。我可以在组件中调用这些方法,但如何从组件外部调用它们

app.html:

<template>
  <require from="popup"></require>

  Pop-up test
  <popup>
    <popup-body>
      <button click.trigger="close()">Close</button>
    </popup-body>
  </popup>
</template>
注意,在app.html中,我添加了一个按钮,试图关闭模式。显然,
close()
不起作用,因为它正在app.js中寻找该方法。如何在popup.js中调用close方法


这是上面的一个例子。

哦,我想我是用
视图模型。ref

<template>
  <require from="popup"></require>

  Pop-up test
  <popup view-model.ref="popup">
    <popup-body>
      <button click.trigger="popup.close()">Close</button>
    </popup-body>
  </popup>
</template>

弹出测试
接近

哦,我想我是通过查看模型.ref

<template>
  <require from="popup"></require>

  Pop-up test
  <popup view-model.ref="popup">
    <popup-body>
      <button click.trigger="popup.close()">Close</button>
    </popup-body>
  </popup>
</template>

弹出测试
接近

您可以通过使用视图模型获取组件的视图模型。参考:

<popup view-model.ref="popup">

您可以通过使用视图模型获取组件的视图模型。参考:

<popup view-model.ref="popup">

export class App {
  close(){
    popup.close();
  }
}