Как я могу заменить строку во время компиляции - PullRequest
0 голосов
/ 11 мая 2018

Я получаю ровно '\ n' и хочу заменить его во время компиляции следующим кодом, но получаю ошибку.Как мне это сделать?

Это полнотекстовый объект из Firebase Firestore.Я также пытался использовать <pre> и предварительную переноску, но ничего не работало.

ошибка - ошибка TS2339: свойство 'replacecingOccurferences' не существует для типа 'Project'.

this.projectsserivice.getProjects()
    .subscribe(projects => {
      this.projects = projects;
     this.projects.forEach(element => {
       const newstr = element.replacingOccurrences('\n', '<br>');
       console.log(newstr);
     });
    }, errmess => this.ProerrMess = <any>errmess);

1 Ответ

0 голосов
/ 11 мая 2018

Если это javascript, в любом стандартном прототипе нет replacingOccurrences.

Я вижу, что element - это Project, что, я полагаю, является вашим классом.Вы уверены, что вы определили метод с именем replacingOccurrences?

Если вы хотите заменить все вхождения текста в строке, то вам может потребоваться использовать replace .

Если Project - это объект, содержащий несколько строк, и вы хотите заменить каждую содержащуюся строку, вы можете сделать что-то вроде этого:

Object.keys(element)
    .filter(item => typeof(item) == 'string') //only using replace on strings
    .forEach(item => element.item = element.item.replace("\n", "<br/>"));

Этот фрагмент кода изменяет только дочерние элементы первого уровня.

Так что, если ваш проект содержит только 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...