Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Angular function with two parameters having Error: [$parse:syntax]

The full error is:

Error: [$parse:syntax] Syntax Error: Token ',' not a primary expression

The piece of code causing the error is:

<div ng-repeat="item in items">

    <input type="submit" ng-click="delete({{item.itemId}},$index)" value="delete">

</div>

The function actually works for previous items but breaks when I try a new item to my item array. The problem child appears to be the comma, but I do not know what to do.

like image 756
Conqueror Avatar asked Dec 26 '22 18:12

Conqueror


1 Answers

You don't need to wrap item.itemId in {{}}. Just do:

ng-click="delete(item.itemId, $index)"

You only need to wrap in braces when using Angular's templating system - the braces tell Angular to replace the value. In this case, the value of ng-click is an expression that is evaluated (within the scope of your controller) when a click event occurs.

Demo Fiddle

like image 169
xbonez Avatar answered Jan 26 '23 01:01

xbonez