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"
我正在尝试将 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"