![](/img/trans.png)
[英]How can I change a label text without interfering with an input radio inside the label?
[英]How can I change an input for a label without an error in value in Angular?
我试图更改标签的输入,但是会产生值错误
这是我的代码
这是html
<div class="row"> <div class="small-6 columns"> <label>Edad</label> </div> <div class="small-2 columns"> <input readonly type="text" [value]="CalculateAge()"> </div> </div>
这是您应如何更改印章的方式?
<div class="small-6 columns"> <label readonly for="text" [value]="CalculateAge()"> </label> </div>
这是组件
export class DatosPersonalesComponent implements OnInit { @Input() datosDTO: DatosDTO; public age: number; constructor() {} ngOnInit() { this.datosDTO = new DatosDTO(); } CalculateAge(): void { if (this.datosDTO.datosPersonales.fechaNacimiento) { var timeDiff = Math.abs(Date.now() - this.datosDTO.datosPersonales.fechaNacimiento); this.age = Math.ceil((timeDiff / (1000 * 3600 * 24)) / 365); } } }
非常感谢您的帮助。
标签通常与for
属性一起使用for
如下所示
<label for="age">{{ age }}</label>
<input type="text" id="age">
该值应该在标记之间,而不是在value
属性中
get age(){
if (this.datosDTO.datosPersonales.fechaNacimiento) {
var timeDiff = Math.abs(Date.now() - this.datosDTO.datosPersonales.fechaNacimiento);
return Math.ceil((timeDiff / (1000 * 3600 * 24)) / 365);
}
}
您在课堂内的职能通常不应大写
calculateAge()
您将datosDTO
指定为@Input()
但在ngOnInit()
中ngOnInit()
初始化。 你不应该那样做。
您正在尝试在模板中调用CalculateAge函数,您应该在其中仅引用age变量。 另外,您已经声明CalculateAge具有void返回类型,因此即使可行,它仍然不会向模板返回任何内容。
当您在onInit内部调用CalculateAge()时,它将把值加载到age变量中,然后将其加载到模板中。
最后,要解决实际错误,您需要在label标签内传递变量,而不是设置标签的value属性:
<div class="small-6 columns">
<label readonly for="text">{{age}}</label>
</div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.