Aurelia版本的Angular的改变

Grk*_*eer 2 javascript angularjs aurelia aurelia-binding

我正在将一个Angular app移植到Aurelia作为学习练习,我不知道如何重新创建Angular ng-change行为.

有一个元素,当更改时触发javascript回调.我不知道如何在Aurelia做到这一点.或者我应该只使用HTML5?

Jer*_*yow 7

要将方法/表达式绑定到事件,请使用event.delegate="expression",将"event"替换为实际的事件名称,如changeinput.

这是一个例子:https://gist.run?id = a3ced6a08842a421a715c7df068b41d5

app.html

<template>
  <form change.delegate="changeCount = changeCount + 1"
        input.delegate="incrementInputCount($event.target)">
    <p>
      This form has changed ${changeCount} times.
      The input event has fired ${inputCount} times.
    </p>
    <input type="text" placeholder="type something...">
    <input type="text" placeholder="type something...">
    <input type="text" placeholder="type something...">
  </form>
</template>
Run Code Online (Sandbox Code Playgroud)

app.js

export class App {
  changeCount = 0;
  inputCount = 0;

  incrementInputCount(inputElement) {
    console.log(inputElement.value);
    this.inputCount++;
  }
}
Run Code Online (Sandbox Code Playgroud)

注意:如果事件没有冒泡(例如聚焦/模糊),请使用event.trigger并将绑定直接放在将触发事件的元素上.例如,<input blur.trigger="doSomething()">.