Я пытаюсь использовать 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 не будет дезинфицировать в строковый литерал. Если есть лучший способ сделать это, этот ответ также приветствуется.
Это не отвечает на ваш вопрос относительно того, почему угловой порождает ошибку. Но это может помочь вам обойти это.
Создать фильтр:
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"