访问范围输入值以将其显示在滑块顶部

时间:2019-01-15 11:53:10

标签: javascript angular html5

我想使用范围滑块选择一个值,然后将此值呈现在Angular中的范围选择器的顶部。 我的html代码是:

<div class="form-group">
      <label for="range">Raio: {{raio}} metros</label>
      <input type="range" min="100" max="2000" step="100" 
      oninput="rangeChange(this.value)"
             class="form-control-range" id="range">
</div>

在我的component.ts中,我具有以下功能:

export class LugaresComponent implements OnInit {
raio = 200;

constructor() {}

ngOnInit() {}

rangeChange(value) {
    this.raio=value;
    console.log(this.raio)
    }
}

当我在范围输入中选择一个值时,我在控制台上收到以下错误:

Uncaught ReferenceError: rangeChange is not defined

正确的方法是什么?

1 个答案:

答案 0 :(得分:1)

我认为您必须通过()使用oninput作为事件,然后将事件传递给函数

<input type="range" min="100" max="2000" step="100" (oninput)="rangeChange($event)" />

rangeChange(event) {
   this.raio = event.target.value;
}

但是最好通过ngModel使用数据绑定,如果只需要将输入中的值绑定到组件的属性上,则无需处理事件

<input type="range" min="100" max="2000" step="100" [(ngModel)]="raio" />