Угловая переменная шаблона заменяет разметку на лету

0

Я работаю над тяжелым набором данных.

поэтому я помещаю вложенную переменную внутри таблицы

{{entry.text}}

но это может иметь несколько имен, таких как

Клэр Баттерфилд/н/р Барри Бертон

- действительно, я хочу заменить возврат каретки тегом br

поэтому каждое имя переходит на другую строку

{{(entry.text).replace("/n", "<br>")}}
  • 0
    Можете ли вы опубликовать свои данные?
Теги:

1 ответ

0

Для этого вам понадобятся две части:

1) Фильтр, который примет текст и заменит /n на <br/>, и

2) Директива ng-bind-html, чтобы получить угловатое использование <br/> вместо того, чтобы просто показывать Clare Butterfield <br/> Barry Burton

в конечном итоге ваш html будет выглядеть примерно так:

<span ng-bind-html="::entry.text | newLineFilter"/>

Пример аналогичного фильтра для того, что вам нужно, см. Здесь в этом вопросе: Угловой фильтр для замены всех подчеркиваний на пробелы

Для директивы ngBindHTML см. Здесь: https://docs.angularjs.org/api/ng/directive/ngBindHtml

любые вопросы?

ps, так как ваш набор данных большой, вы можете заметить, что я добавил 2 двоеточия в примере выше, чтобы указать, что он использует одноразовую привязку. Это позволит избежать углового пересчета значения слишком часто и сэкономить на производительности. Это не обязательно, поэтому, если вы обнаружите, что ваш текст не обновляется, когда вы ожидаете этого, просто удалите их.

  • 0
    App.filter ('underscoreless', function () {return function (input) {return input.replace (/ _ / g, '');};}); --- мы поместили это в контроллер?
  • 0
    Нет, это было бы отдельно от контроллера, но зарегистрировано аналогичным образом. Например, вы бы зарегистрировали контроллер, такой как App.controller('MyController', function(){... App будет называться как-то еще в вашем коде.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню