当 Angular.js 返回错误 '$parse:lexerr' 时,通常是由于表达式中存在语法错误导致的。以下是解决此错误的方法和示例代码:
示例代码:
{{ message.substring(0, 5 }
{{ message.substring(0, 5) }}
示例代码:
{{ expression | parseExpression }}
angular.module('myApp', [])
.controller('myCtrl', function($scope, $parse) {
$scope.expression = 'message.substring(0, 5}';
try {
var parseFn = $parse($scope.expression);
var result = parseFn($scope);
console.log(result);
} catch (err) {
console.error(err);
}
})
.filter('parseExpression', function($parse) {
return function(input) {
try {
var parseFn = $parse(input);
var result = parseFn();
return result;
} catch (err) {
return err.message;
}
}
});
以上是两种常见的解决方法,您可以根据具体情况选择适合的方法来解决 '$parse:lexerr' 错误。