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

时间:2015-12-28 08:37:38

标签: javascript aurelia

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

custom-element

export class CustomElem {
  @bindable onCompleted;
  ........
}

updateDescription()是控制器A的一个功能。

export class A {
  updateDescription(){
    ....
  }
}

如何使用custom-element调用updateDescription()?

2 个答案:

答案 0 :(得分:20)

使用call绑定命令提供对自定义元素的函数调用的引用:

<custom-element on-completed.call="updateDescription()"></custom-element>

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

export class CustomElem {
  @bindable onCompleted;

  ...

  fooBarBaz() {
    var args = {
      something: 'A',
      somethingElse: 'B',
      anotherArg: 'C'
    };
    this.onCompleted(args);
  }
}
<custom-element on-completed.call="updateDescription(something, somethingElse, anotherArg)"></custom-element>

答案 1 :(得分:2)

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

然后

<custom-element on-completed.bind="updateDescription"></custom-element>

CustomElem内拨打this.onCompleted()