Получаю ошибку: Error: missing ; before statement
Не работает вот такая вот запись?:
str = '{id: 4,image: "path",dessert: "text",calories: 100,fat: 10,comments: "comment"}';
$scope.dataTableTbody.push(eval(str));
Массив js-объектов:
$scope.dataTableTbody = [
{
id: 11,
image: '/images/placeholder/1-square.jpg',
dessert: 'Frozen yogurt',
calories: 159,
fat: 6.0,
comments: 'Lorem ipsum'
},
{
id: 13,
image: '/images/placeholder/3-square.jpg',
dessert: 'Eclair',
calories: 262,
fat: 16.0,
comments: 'Lorem ipsum'
}];
А вот если делаю так:
$scope.dataTableTbody.push(eval('[' + str + ']'));
то объект добавляется в массив, но в таком виде: Array [ Object, Object, Object, Array[1] ] где в Array[1] соответственно содержится наш Object Нужно сделать, чтобы $scope.dataTableTbody в итоге был таким: Array [ Object, Object, Object, Object ] |
$scope.dataTableTbody.push(eval('...[' + str + ']'));
|
Цитата:
сделал таким образом, всё заработало:
$scope.dataTableTbody = $scope.dataTableTbody.concat( eval('[' + str + ']') );
|
okuznetsov1,
Вот так точнее.
$scope.dataTableTbody.push(...eval('[' + str + ']'));
Spread оператор. |
Цитата:
|
| Часовой пояс GMT +3, время: 11:07. |