Когда я пытаюсь создать таблицу ui-grid AngularJS с данными, содержащими '(', а затем пробел перед закрытием ')' внутри строки, затем я получаю AngularJS ошибку говоря:
Syntax Error: Token '32' is unexpected, expecting [)] at column 22 of the expression [entity[''](trimpoint 32h)] starting at [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 используется как имя объекта. Спасибо
Что произойдет, если вы используете обратную косую черту со скобкой? '\ (random text \)' – trichetriche
также, вы тоже можете попробовать '$ scope.gridOptions = {data: $ scope.myData};'? – trichetriche
Привет @trichetriche, спасибо за ваш ответ. К сожалению, такая же синтаксическая синтаксическая ошибка при обоих предложениях. –