- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
对 Angular js 相当陌生,由于 ö 字符,我遇到了这个错误。
Lexer Error: Unexpected next character at columns 8-8 [ö] in expression [item.Teközel].
我在 Controller 的开头使用这样的 ngSanitize
var app = angular.module('xApp', ['smart-table', 'ngSanitize']);
但在页面渲染期间仍然出现上述错误。
我该如何解决这个问题?
最佳答案
@Ege Bayrak 作为 unicode 字符出现在变量名称中 Error: [$parse:lexerr] Lexer Error: Unexpected next character at columns 8-8 [ö] in expression [ctrl.Teközel].
发生错误
如果 JavaScript 对象中的变量很少,您可以执行 item['Teközel']
View 中执行数据绑定(bind),但这可能是一种不好的做法,或者我认为不是推荐的方法。
如果您有更多 unicode 标识符或以更合适的方式进行操作,您可以阅读此 Lexer support for non-ascii literals #2174在该问题 #2174 线程中,可能有其他方法可以满足您的需求(以及您正在使用的 unicode 字符集)来解决问题,而不是我在下面使用的方法。
要解决此问题,我们可以修改 angular.js 文件中的一个函数,该函数告诉所使用的标识符(即变量名称)是否有效
我修改了这个函数isValidIdentifierStart
在 AngularJS 1.5.8 中,数据绑定(bind)有效
isValidIdentifierStart: function(ch) {
return ('a' <= ch && ch <= 'z' ||
'A' <= ch && ch <= 'Z' ||
'_' === ch || ch === '$' ||
(129 <= ch.charCodeAt(0) && ch.charCodeAt(0) <= 496));
}
您可以搜索语句'a' <= ch && ch <= 'z'
在您使用的 angular.js 文件版本中添加代码以使函数允许 unicode 字符
景色
<!DOCTYPE HTML>
<html ng-app="demo">
<head>
<title>Demo</title>
</head>
<body ng-controller="DefaultController as ctrl">
<span ng-bind="ctrl.Teközel"></span>
<script type="text/javascript" src="scripts/angular.js"></script>
<script type="text/javascript" src="scripts/app/main.js"></script>
</body>
</html>
AngularJS 代码
angular
.module('demo', [])
.controller('DefaultController', DefaultController);
function DefaultController() {
var vm = this;
vm.Teközel = 'Hello, World!';
}
要检查标识符名称是否有效,我们可以使用 validator
关于angularjs - 非英文字母的 lexerr 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39394145/
对 Angular js 相当陌生,由于 ö 字符,我遇到了这个错误。 Lexer Error: Unexpected next character at columns 8-8 [ö] in ex
我有以下模板: Not voted Voted for this concept Voted for another concept 当我尝试运行它时,我得到 Error
我使用yeoman生成器编写了一个 Angular 应用程序。它在开发中效果很好,但是部署到heroku并访问特定页面后,出现此错误: Error: [$parse:lexerr] Lexer Err
我把这个作为我的正则表达式模式 (^([Aa][Ss])[0-9]{8})|(^6[0-9]{7}) 我在下面收到控制台错误,但它有效! libraries-c8d65edf41.js:22505 E
我一直在尝试做的是将电子邮件地址发送到 Angularjs 的函数。 这是我的代码的一部分。 //For the sake of simplicity, I omitted the descript
我正在处理 ListView 的无限滚动,并使用 angular.element() 创建新的列表元素。每个列表元素都有一个 ng-click 属性,并且在函数中传递了几个参数,其中一个是作为字符串传
我是一名优秀的程序员,十分优秀!