【问题标题】:HTML5 type="range" this.value returns undefinedHTML5 type="range" this.value 返回 undefined
【发布时间】:2018-02-23 14:43:48
【问题描述】:

我正在尝试进行范围输入,但是当我尝试将其传递给我的函数时,它返回未定义:

HTML:

<div class="slidecontainer">
    <label>Setpoint</label>
    <p>{{channel.setPoint}}</p>
    <div>
         <p>5</p>
         <p>30</p>
    </div>
    <input type="range" min="5" max="30" value="50"  step="0.5" class="slider"
        [(ngModel)]="channel.setPoint" (onchange)= "putSetpoint(channel, this.value)">
    <br>
</div>

TS 文件:

putSetpoint(cb: Channel, value: number) {
    console.log(value);
    cb.setpoint = value;
    this.homedata.setpointChannel(cb);
}

【问题讨论】:

  • min="5" max="30" value="50" - 无效
  • oups!.. 但结果仍然相同:

标签: html angular typescript rangeslider


【解决方案1】:

this.value 不指代任何东西,你必须告诉 Angular 你指的是input 的值:

 <input #inputRange type="range" min="5" max="30" value="50"  step="0.5" class="slider"
        [(ngModel)]="channel.setPoint" (onchange)= "putSetpoint(channel, inputRange.value)">

【讨论】:

  • 它工作......但最后一个问题:为什么在我的 json 中将它作为字符串转换为请求而不是数字......即使我的 Channel.setpoint 接口在一个数字中?
猜你喜欢
  • 1970-01-01
  • 2011-07-07
  • 2021-10-26
  • 1970-01-01
  • 1970-01-01
  • 2021-12-20
  • 2016-09-13
  • 2022-01-22
  • 2021-03-18
相关资源
最近更新 更多