当我尝试创建一个AngularJS ui-grid表,其中包含一个字符串中包含'('然后是空格的空格')'的数据,然后我收到一个AngularJS错误说:
语法错误:令牌“32”是意外的,期望[]]在[[[''](三点32h)]的第22列,从[32h]开始。
以下是我尝试用来创建表格的完整HTML代码:
<html> <head>
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-grid/3.2.5/ui-grid.css" />
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.21/angular.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-grid/3.2.5/ui-grid.min.js"></script>
<script type="text/javascript">
var app = angular.module('MyGridApp', ['ui.grid']);
app.controller('bodyController', ['$scope', function($scope) {
$scope.myData = [{'(trimpoint 32h)': "Moroni", age: 50},
{'(trimpoint 32h)': "Tiancum", age: 43},
{'(trimpoint 32h)': "Jacob", age: 27}];
$scope.gridOptions = { data : 'myData' }; }]);
</script> </head> <body ng-app="MyGridApp" ng-controller="bodyController">
<div ui-grid="gridOptions">
</div> </body> </html>
如果我用方括号替换圆括号,那么它工作正常,表格就是:
$scope.myData = [{'[trimpoint 32h]': "Moroni", age: 50},
{'[trimpoint 32h]': "Tiancum", age: 43},
{'[trimpoint 32h]': "Jacob", age: 27}];
在尝试解析此数据时,AngularJS是否有任何显示错误的原因?它似乎是一个有效的JavaScript字符串,可用作对象名称。感谢
答案 0 :(得分:0)
问题的答案是你需要在每个括号前加上一个非空格。
您可以使用此{ }
或使用unicode字符,也可以在Windows上尝试Alt + 255
,或者您可以输入Ctrl + Shift + U
,按住Ctrl + Shift
,然后输入{ {1}}在Linux上使用它。此外,打开字符映射也可能有所帮助。