0
我想基于模式进行替换,并且出现错误。基于模式替换angularjs中的字符串
{{n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")}}
n是一个数字。
Error: [$parse:lexerr] Lexer Error: Unexpected next character at columns 36-36 [] in expression
我想基于模式进行替换,并且出现错误。基于模式替换angularjs中的字符串
{{n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")}}
n是一个数字。
Error: [$parse:lexerr] Lexer Error: Unexpected next character at columns 36-36 [] in expression
的角度可能是有困难的时间与该正则表达式的模板是线上,你可以把那个替代语句转换成一个辅助函数的范围:
$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 }}
试着做了替换一个范围的功能和使用'NG绑定 - html',而不是'{{}}'符号。 –