我正在尝试根据模式进行替换,但我收到了错误。
{{n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")}}
n是一个数字。
错误:[$ parse:lexerr] Lexer错误:出现意外的下一个字符 第36-36列[]表达式
答案 0 :(得分:0)
angular可能很难在模板中内联该正则表达式,您可以将该替换语句放入范围内的辅助函数中:
$scope.convert = function(val) {
return val.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}
然后在你的模板中调用该函数:
{{ convert(n) }}
另一种选择是创建自定义过滤器:
app.filter('convert', function() {
return function(input) {
return input.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
};
});
然后将您的值传递给该过滤器:
{{ n | convert }}