Javascript Aurelia:如何在自定义元素之外调用函数?

Javascript Aurelia:如何在自定义元素之外调用函数?,javascript,aurelia,Javascript,Aurelia,我有一个名为custom element的自定义元素,我将它放在模板A中(带有控制器A) 导出类CustomElem{ @未完成的可绑定的; ........ } updateDescription()是控制器A的一个函数 导出A类{ updateDescription(){ .... } } 如何使用自定义元素调用updateDescription() export class A { updateDescription = () => { }; } 然后 在Cust

我有一个名为custom element的自定义元素,我将它放在模板A中(带有控制器A)

导出类CustomElem{
@未完成的可绑定的;
........
}
updateDescription()是控制器A的一个函数

导出A类{
updateDescription(){
....
}
}
如何使用自定义元素调用updateDescription()

export class A {
  updateDescription = () => {
  };
}
然后



CustomElem
call
this.onCompleted()

内部,使用
call
binding命令对自定义元素的函数调用进行引用:


要使用参数调用
updateDescription
方法,可以执行以下操作:

导出类CustomElem{
@未完成的可绑定的;
...
fooBarBaz(){
变量args={
“A”,
有些东西是‘B’,
另一个参数:“C”
};
未完成(args);
}
}


是否可以使用参数调用
updateDescription
,并在
CustomElem
中检查结果?这需要成为官方文档的一部分。刚刚尝试过这个,但不幸的是,虽然它工作正常,但执行上下文仍保留在自定义控件中,这意味着父VM中的任何属性都不可访问。如果您想在自定义控件内扩展代码,但允许使用者在自己的VM内逐个控件地定义扩展代码,这是一种很好的方法。@shawty如果您需要updateDescription内的外部上下文,则始终可以创建闭包。有时这可能是一个很好的解决办法
<custom-element on-completed.bind="updateDescription"></custom-element>