【问题标题】:Angular 4 string parametersAngular 4 字符串参数
【发布时间】:2017-12-06 20:39:14
【问题描述】:

我对为什么我的输入参数被转换成数字感到困惑。 我有这个组件:

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>

从另一个组件传递这些 this 有效:

<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。

当我明确将它们定义为字符串时,为什么它们会被视为数字?

【问题讨论】:

标签: angular typescript


【解决方案1】:

如果我正确理解您的问题,要传递字符串文字,请尝试在双引号内添加单引号,即 表达式,如下所示:

<app-tile [headerText1]="'TOTAL VISITORS'" [mainText]="'93%'"

【讨论】:

  • 传奇!我没有意识到类型是在双引号中推断出来的。不过有道理。非常感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多