angular 4 json pipe - пробелы не обрезаны в предварительном теге

У меня есть этот json, который я пытаюсь красиво напечатать:

{
 "error": "BAD_RESULT",
 "status": 500,
 "description": "Something bad happenned."
}

Этот объект хранится в переменной errorMsg и отображается в html с использованием тега pre следующим образом:

<pre>
   {{ errorMsg | json }}
</pre>

К сожалению, когда я проверяю элемент в консоли разработчика, я вижу, что содержимое внутри тега pre дополнено большим количеством пробелов (сразу после открытия pre и прямо перед закрытием pre), и это вызывает отступ открытия скобка. Если я вручную удалю пробелы из консоли, json отображается отлично. Как это решить? Есть ли чистое решение css или, может быть, с js?

Спасибо.

РЕДАКТИРОВАТЬ:

Мой код изначально был:

<pre>
   {{ errorMsg | json }}
</pre>

Когда это должно было быть:

<pre>{{ errorMsg | json }}</pre>

Теперь это работает.


person Mister_L    schedule 19.12.2017    source источник
comment
Что произойдет, если вы просто удалите теги ‹pre›?   -  person DeborahK    schedule 19.12.2017
comment
@DeborahK Если я удалю теги pre, json появится в одной строке   -  person Mister_L    schedule 19.12.2017
comment
@Mister_L Это было то, что я собирался предложить в качестве решения (потому что у вас есть куча пробелов внутри <pre>!), но вы должны отредактировать его из своего вопроса, опубликовать как ответ и принять этот ответ. Совершенно нормально принять свой собственный ответ, и это предотвратит то, что вопрос останется открытым.   -  person msanford    schedule 19.12.2017
comment
это так странно, спасибо за решение ..   -  person liron_hazan    schedule 04.08.2019


Ответы (1)


Если вы пытаетесь обрезать строки, вы можете использовать метод Javascript .trim().

var str = "       Hello World!        ";
alert(str.trim());

Вывод: Привет, мир!

https://www.w3schools.com/jsref/jsref_trim_string.asp

person Reed    schedule 19.12.2017
comment
Если я попробую JSON.stringify(err, null, 4).trim(), это не решит проблему - person Mister_L; 19.12.2017