在Angular 2+组件中使用全局替换方法

时间:2018-12-16 10:41:35

标签: javascript angular typescript

我需要向现有组件添加一个名为“ dataTestValue”的新属性。这是一个简单的组件,其作用类似于选项卡:

export class TabComponent implements OnInit {

  @Input('active') active = false;
  @Input('title') title: string;

  dataTestValue: string;

  constructor() { }

  ngOnInit() {
    this.dataTestValue = this.title.replace('/ /g', '_');
    console.log(this.dataTestValue);
  }

}

因为“ title”属性可以包含空格,所以我需要替换并将其转换为小写。

我设法使用以下方法仅替换了第一个空白:

this.dataTestValue = this.title.replace(' ', '_');

由于某种原因,全局方法不起作用,它仅显示原始值。有什么想法吗?

P.S:如果我使用“ ngOnInit”生命周期挂钩,请通知我。

2 个答案:

答案 0 :(得分:1)

从正则表达式中删除单引号:

this.dataTestValue = this.title.replace(/ /g, '_');

答案 1 :(得分:1)

删除引号

this.dataTestValue = this.title.replace(/ /g, '_');

或者您也可以使用

this.dataTestValue = this.title.replace(/\s+/g, '_');