繁体   English   中英

Angular:TS2322:类型“数字”不可分配给类型“字符串”

[英]Angular: TS2322: Type 'number' is not assignable to type 'string'

您好,我的 angular 应用程序中有以下波纹管代码。 当我尝试运行我的生产构建命令时,出现以下错误:

错误 TS2322:类型“数字”不可分配给类型“字符串”。

我尝试更改为:

[value]="'1'"

但是,如果我这样做,它不会选中该框


          <label mdbLabel class="form-label mt-3 mb-0">Time Units </label>
          <mdb-form-control>
            <div class="form-check form-check-inline">
              <input
                mdbRadio
                class="form-check-input"
                type="radio"
                mdbInput formControlName="timeUnitHHMM"
                id="timeUnitHHMM"
                [value]="1"
                [checked]="validationForm.getRawValue()?.timeUnitHHMM == 1"
              />
              <label class="form-check-label" for="timeUnitHHMM">HHMM</label>
            </div>


    this.validationForm = new FormGroup({
      timeUnitHHMM: new FormControl(1),
    });

    // @ts-ignore
    this.validationForm.get('timeUnitHHMM').valueChanges.subscribe(value => {
      if (value === 1) {
        this.validationForm.patchValue({timeUnitDecimal: 0});

      }
    });


想知道是否有人有任何解决方案。

谢谢

[value]="1"定义字符串绑定。 所以1作为字符串出现。

如果要将1作为数字传输,最简单的方法是使用1前面的+强制从字符串转换为数字

[value]="+1"

但是,我建议您看一下 angular 数据绑定。 在以下链接下,您将找到官方文档:

数据绑定

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM