如何将DOM元素传递给Aurelia函数?

Kal*_*tov 6 aurelia aurelia-binding

我正在尝试将DOM元素传递给Aurelia函数,但它不起作用.只是注意到这个元素不在'repeat.for'语句中.

我有这样的东西,显然是不正确的:

<span click.trigger="passDom(d)">Pass Dom Element</span>


export class Test {

  passDom(d) {
    console.log(d);
  }
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用$ self,但不能正常工作.

Mir*_*vic 6

使用$event.target这样:

<span click.trigger="passDom($event.target)">Pass Dom Element</span>
Run Code Online (Sandbox Code Playgroud)

您可以在Aurelia Hub - DOM Events中阅读有关DOM事件的更多信息.

使用特殊的$ event属性访问绑定表达式中的DOM事件.

或者,您可以创建对DOM事件的引用并从视图模型中使用它:

<span click.trigger="passDom()" ref="myElement">Pass Dom Element</span>

// in view model
export class Test {
  passDom() {
    console.log(this.myElement);
  }
}
Run Code Online (Sandbox Code Playgroud)

也可在Aurelia Hub中使用 - 参考元素.

使用refbinding命令创建对DOM元素的引用.该ref命令的最基本语法是ref="expression".当视图是数据绑定时,将为指定的表达式分配DOM元素.