ng-bind-html 在使用具有全局值的 Javascript replace() 时中断

ng-bind-html breaks when using Javascript replace() with global value

我正在尝试将 ng-bind-html 与 JavaScript 的 replace() 函数结合使用。当我不在 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')"

我是否犯了一个我忽略的明显错误,如果是,正确的写法是什么?

编辑:

我的最终目标是替换一个包含多个“;”的字符串字符,并将这些字符替换为 AngularJS 不会清理成字符串文字的中断元素。如果有更好的方法,也欢迎回答。

这并没有回答您关于 angular 为什么会抛出错误的问题。但它可能会帮助您解决这个问题。

创建过滤器:

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"