ng-bind-html прерывается при использовании Javascript replace () с глобальным значением

0

Я пытаюсь использовать ng-bind-html в руке с функцией replace() JavaScript. Он отлично работает, когда я не включаю глобальное значение в replace(), но в тот момент, когда я включаю что-то вроде replace (/test/g, 'TEST), я получаю это в консоли:

Syntax Error: Token '/' not a primary expression at column 95

Это то, что я пытаюсь сделать, а также то, что дает мне ошибку:

ng-bind-html="(resume.address == null || resume.address == '') ? 'Mailing Address' : resume.address.replace(/;/g, 'TEST')"

Я сделал явную ошибку, которую я пропускаю, и если да, то каков правильный способ написать это?

Редактировать:

Моя конечная цель - заменить строку, содержащую несколько ";", символов, и эти символы заменяются элементами break, которые AngularJS не будет дезинфицировать в строковый литерал. Если есть лучший способ сделать это, этот ответ также приветствуется.

  • 0
    Это может быть хорошим местом для использования собственного углового фильтра
  • 0
    @ o4ohel Вы можете быть правы, но я все еще не совсем знаком с тем, как писать директивы. У меня есть основная идея, но я не уверен, как бы я сделал что-то подобное.
Показать ещё 2 комментария
Теги:
replace
ng-bind-html

1 ответ

1
Лучший ответ

Это не отвечает на ваш вопрос относительно того, почему угловой порождает ошибку. Но это может помочь вам обойти это.

Создать фильтр:

angular.module('yourApp', []).filter('addressFilter', function() {
  return function(input) {
    input = input || 'Mailing Address';
    return input.replace(/;/g, 'TEST')";
  };
})

HTML:

ng-bind-html="resume.address | addressFilter"
  • 0
    Спасибо, это работает для того, что мне нужно. Я бы +1 это, но я настолько новичок в этом сайте, что он не позволяет мне на данный момент.

Ещё вопросы

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