AngularJs [$ parse:syntax] ui-grid中包含某些数据的错误

时间:2016-11-18 12:23:17

标签: javascript angularjs string angular-ui-grid brackets

当我尝试创建一个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字符串,可用作对象名称。感谢

1 个答案:

答案 0 :(得分:0)

问题的答案是你需要在每个括号前加上一个非空格。

您可以使用此{ }或使用unicode字符,也可以在Windows上尝试Alt + 255,或者您可以输入Ctrl + Shift + U,按住Ctrl + Shift,然后输入{ {1}}在Linux上使用它。此外,打开字符映射也可能有所帮助。