Angular 如何在编译期间替换字符串

Angular 如何在编译期间替换字符串,angular,firebase,Angular,Firebase,我得到的正是'\n',我想在编译过程中用以下代码替换它,但是,我得到了一个错误。我该怎么做 它是firebase firestore中的全文对象。我也尝试过使用和预包装,但没有任何效果 错误为错误TS2339:类型“Project”上不存在属性“replacingOccurrences” 如果这是javascript,那么在任何标准原型中都不会发生重演 我看到那个元素是一个项目,我想象它是你的一个类。是否确实定义了名为replacingOccurrences的方法 如果要替换字符串中出现的所有文

我得到的正是'\n',我想在编译过程中用以下代码替换它,但是,我得到了一个错误。我该怎么做

它是firebase firestore中的全文对象。我也尝试过使用和预包装,但没有任何效果

错误为错误TS2339:类型“Project”上不存在属性“replacingOccurrences”


如果这是javascript,那么在任何标准原型中都不会发生重演

我看到那个元素是一个项目,我想象它是你的一个类。是否确实定义了名为replacingOccurrences的方法

如果要替换字符串中出现的所有文本,则可能需要使用

如果Project是一个包含一些字符串的对象,并且您希望替换包含的每个字符串,则可以执行以下操作:

this.projectsserivice.getProjects()
    .subscribe(projects => {
        this.projects = projects;
        this.projects.forEach(element => {
            Object.keys(element)
                .filter(item => typeof(item) == 'string' && element.item) //only using replace on strings
                .forEach(item => element.item = element.item.replace("\n", "<br/>"));
        });
    }, errmess => this.ProerrMess = <any>errmess);
这段代码只改变第一级子级

因此,如果您的项目仅包含3个字符串,如您在注释中所述,而没有内部对象,那么您的代码应该如下所示:

this.projectsserivice.getProjects()
    .subscribe(projects => {
        this.projects = projects;
        this.projects.forEach(element => {
            Object.keys(element)
                .filter(item => typeof(item) == 'string' && element.item) //only using replace on strings
                .forEach(item => element.item = element.item.replace("\n", "<br/>"));
        });
    }, errmess => this.ProerrMess = <any>errmess);

谢谢你的回复!我试着替换同样的错误!元素实际上是一个项目,我是从firestore得到的。我要做的是替换从fire store中呈现的所有新行字符串,使其完全符合存储方式。然后,您应该对项目对象中包含的每个字符串对象调用replace。firestore中的我的对象是title:,description:,url,我在DescriptionTanks中的文本中有\n以获取帮助。但是,我仍然会准确地返回\n并获得错误类型错误:无法读取在筛选器中添加未定义项的属性“replace”&&element.item,就像我在编辑中写的那样
this.projectsserivice.getProjects()
    .subscribe(projects => {
        this.projects = projects;
        this.projects.forEach(element => {
            Object.keys(element)
                .filter(item => typeof(item) == 'string' && element.item) //only using replace on strings
                .forEach(item => element.item = element.item.replace("\n", "<br/>"));
        });
    }, errmess => this.ProerrMess = <any>errmess);