我很困惑为什么我的输入参数被转换为数字。我有这个组成部分:
import { Component, OnInit, Input } from '@angular/core';
@Component({
selector: 'app-tile',
templateUrl: './tile.component.html',
styleUrls: ['./tile.component.css']
})
export class TileComponent implements OnInit {
@Input() icon1: string;
@Input() headerText1: string;
@Input() mainText: string;
@Input() footerText: string;
constructor() { }
ngOnInit() {
}
}
和模板:
<div class="widget widget-stats bg-green">
<div *ngIf="icon1" class="stats-icon"><i class="fa {{icon1}}"></i></div>
<div class="stats-info">
<h4>Header - {{headerText1}}</h4>
<p>Icon - {{icon1}}</p>
<p>Main - {{mainText}}</p>
<p>Footer - {{footerText}}</p>
</div>
</div>
从另一个组件传递这些可以工作:
<app-tile [headerText1]="43543" [mainText]="123456" [footerText]="243542354235" [icon1]="999"></app-tile>
但是我想要这个:
<app-tile [headerText1]="TOTAL VISITORS" [mainText]="93%" [footerText]="243542354235" [icon1]="fa-users"></app-tile>
headerText1在编译时失败,因为有一个空格,如果我删除它,该值将永远不会显示,并且icon1会显示NaN。
当我将它们明确定义为字符串时,为什么将它们视为数字?
如果我正确理解了您的问题,则要传递字符串文字,请尝试在双引号内添加单引号,一个表达式,如下所示:
<app-tile [headerText1]="'TOTAL VISITORS'" [mainText]="'93%'"
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句